64 lines
1.6 KiB
TypeScript
64 lines
1.6 KiB
TypeScript
import axios from 'axios';
|
|
|
|
// sends an email using the BIC service
|
|
|
|
export default (mailAddress, subject, content, f) => { // callback, executed empty or with error
|
|
if (process.env.NODE_ENV === 'production') {
|
|
const mailService = JSON.parse(process.env.VCAP_SERVICES).Mail[0];
|
|
axios({
|
|
method: 'post',
|
|
url: mailService.credentials.uri + '/email',
|
|
auth: {username: mailService.credentials.username, password: mailService.credentials.password},
|
|
data: {
|
|
recipients: [{to: mailAddress}],
|
|
subject: {content: subject},
|
|
body: {
|
|
content: content,
|
|
contentType: "text/html"
|
|
},
|
|
from: {
|
|
eMail: "dfop@bosch-iot.com",
|
|
password: "PlasticsOfFingerprintDigital"
|
|
}
|
|
}
|
|
})
|
|
.then(() => {
|
|
f();
|
|
})
|
|
.catch((err) => {
|
|
f(err);
|
|
});
|
|
}
|
|
else if (process.env.NODE_ENV === 'test') {
|
|
console.info('Sending mail to ' + mailAddress + ': -- ' + subject + ' -- ' + content);
|
|
f();
|
|
}
|
|
else { // dev
|
|
axios({
|
|
method: 'get',
|
|
url: 'https://digital-fingerprint-of-plastics-mail-test.apps.de1.bosch-iot-cloud.com/api',
|
|
data: {
|
|
method: 'post',
|
|
url: '/email',
|
|
data: {
|
|
recipients: [{to: mailAddress}],
|
|
subject: {content: subject},
|
|
body: {
|
|
content: content,
|
|
contentType: "text/html"
|
|
},
|
|
from: {
|
|
eMail: "dfop-test@bosch-iot.com",
|
|
password: "PlasticsOfFingerprintDigital"
|
|
}
|
|
}
|
|
}
|
|
})
|
|
.then(() => {
|
|
f();
|
|
})
|
|
.catch((err) => {
|
|
f(err);
|
|
});
|
|
}
|
|
} |