nodejsを使用して電子メールを送信する


Eメールは日常の仕事で大きな用途があります.プロジェクトやタスクは、メールのやりとりがあれば、皮をむいて鍋を背負うことを避けることができます(人によって、メールではありません).一部の自動化の応用場面でも、広く使用されています.特にシステム監視の面では、資源の使用が警戒線に達する前に自動的にメールを送って運営者に通知すれば、一時的に善後案を急ぐことなく、危険性を前期に解消することができます.(異郷であろうとなかろうと)場合、メールも役に立つ場所があり、コードやドキュメントが更新された場合、自動的にメールを送ってプロジェクトメンバーやリーダーに通知し、各方面の人員に知らせ、タイムリーに更新させる.(更新するかどうかは、ツールではなく人によって決まる).メールを送るといえば、プログラムで実現しなければならない.筆者は以前、テンセントの無料企業メールボックスを開設し、自分のドメイン名を関連付け、自分でメールボックスを登録してテストした.
この文書では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日正午