mirror of
https://github.com/dawidd6/action-send-mail.git
synced 2024-12-25 18:43:08 +07:00
parent
eaa39a13cd
commit
2afa768d34
31
main.js
31
main.js
@ -37,6 +37,12 @@ async function getAttachments(attachments) {
|
||||
return files.map(f => ({ filename: path.basename(f), path: f, cid: f.replace(/^.*[\\\/]/, '')}))
|
||||
}
|
||||
|
||||
function sleep(ms) {
|
||||
return new Promise((resolve) => {
|
||||
setTimeout(resolve, ms);
|
||||
});
|
||||
}
|
||||
|
||||
async function main() {
|
||||
try {
|
||||
let serverAddress = core.getInput("server_address")
|
||||
@ -118,6 +124,9 @@ async function main() {
|
||||
debug: nodemailerdebug,
|
||||
})
|
||||
|
||||
var i = 1;
|
||||
while (true) {
|
||||
try {
|
||||
const info = await transport.sendMail({
|
||||
from: getFrom(from, username),
|
||||
to: to,
|
||||
@ -131,7 +140,27 @@ async function main() {
|
||||
html: htmlBody ? getText(htmlBody, convertMarkdown) : undefined,
|
||||
priority: priority ? priority : undefined,
|
||||
attachments: attachments ? (await getAttachments(attachments)) : undefined,
|
||||
})
|
||||
});
|
||||
break;
|
||||
} catch (error) {
|
||||
if (!error.message.includes("Try again later,")) {
|
||||
core.setFailed(error.message)
|
||||
break;
|
||||
}
|
||||
if (i > 10) {
|
||||
core.setFailed(error.message)
|
||||
break;
|
||||
}
|
||||
console.log("Received: " + error.message);
|
||||
if (i < 2) {
|
||||
console.log("Trying again in a minute...");
|
||||
} else {
|
||||
console.log("Trying again in " + i + " minutes...");
|
||||
}
|
||||
await sleep(i * 60000);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
core.setFailed(error.message)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user