nodejsを使用して電子メールを送信する
2681 ワード
Eメールは日常の仕事で大きな用途があります.プロジェクトやタスクは、メールのやりとりがあれば、皮をむいて鍋を背負うことを避けることができます(人によって、メールではありません).一部の自動化の応用場面でも、広く使用されています.特にシステム監視の面では、資源の使用が警戒線に達する前に自動的にメールを送って運営者に通知すれば、一時的に善後案を急ぐことなく、危険性を前期に解消することができます.(異郷であろうとなかろうと)場合、メールも役に立つ場所があり、コードやドキュメントが更新された場合、自動的にメールを送ってプロジェクトメンバーやリーダーに通知し、各方面の人員に知らせ、タイムリーに更新させる.(更新するかどうかは、ツールではなく人によって決まる).メールを送るといえば、プログラムで実現しなければならない.筆者は以前、テンセントの無料企業メールボックスを開設し、自分のドメイン名を関連付け、自分でメールボックスを登録してテストした.
この文書ではnodejs言語を使用して電子メールの送信を実現します.
インプリメンテーション
Nodejsは大量のライブラリを持っていて、とても便利で、メールを送信するのはnodemailerライブラリを使って、ルーチンを参考にして、送信機能を実現して、ソースファイルemailtest.jsは以下の通りです.
テスト
依存パッケージのインストール:
プログラムの実行:
小結
異なる言語には異なる実装の詳細がありますが、いつも目的を達成することができます.総合的に考慮し,最終的にnodejsを用いて実現することにした.その後、この機能が拡張されます.
半年後のPS:最近、筆者のメールボックスには多くのテストメールが届きました.この例を使用する場合は、
李遅2019.1.15日正午
この文書ではnodejs言語を使用して電子メールの送信を実現します.
インプリメンテーション
Nodejsは大量のライブラリを持っていて、とても便利で、メールを送信するのはnodemailerライブラリを使って、ルーチンを参考にして、送信機能を実現して、ソースファイルemailtest.jsは以下の通りです.
/*
npm i nodemailer
:
*/
const nodemailer = require("nodemailer");
// : , , , ( html )
function sendMail(from, aliasName, tos, subject, msg)
{
const smtpTransport = nodemailer.createTransport({
host: 'smtp.exmail.qq.com',
secureConnection: true, // use SSL
secure: true,
port: 465,
auth: {
user: from,
pass: '1qaz@WSX',
}
});
smtpTransport.sendMail({
//from : ' ',
from : aliasName + ' ' + '',
//'[email protected], [email protected]',// ,
to : tos,
subject : subject,//
//text : msg,
html : msg
}, function(err, res) {
if (err)
{
console.log('error: ', err);
}
});
}
function nl2br(str, isXhtml) {
var breakTag = (isXhtml || typeof isXhtml === 'undefined') ? '
' : '
';
var str = (str + '').replace(/&/g, "&").replace(//g, ">").replace(/"/g, """).replace(/'/g, "'");
return (str + '').replace(/([^>\r
]?)(\r
|
\r|\r|
)/g, '$1' + breakTag + '$2');
};
function main()
{
sendMail('[email protected]', 'nodejs ', "[email protected], [email protected]",
' ',
' 。 :
:www.latelee.org');
}
// call main
main();
テスト
依存パッケージのインストール:
npm install nodemailer
プログラムの実行:
node emailtest.js
小結
異なる言語には異なる実装の詳細がありますが、いつも目的を達成することができます.総合的に考慮し,最終的にnodejsを用いて実現することにした.その後、この機能が拡張されます.
半年後のPS:最近、筆者のメールボックスには多くのテストメールが届きました.この例を使用する場合は、
sendMail
関数の3番目のパラメータを自分が受信したいメールアドレスに変更してください.また、[email protected]
メールのパスワードを変更しないでください.また、一部の同志はテストで不調和な文字を書いたので、そうしないでください.李遅2019.1.15日正午