このようなトランスポートオブジェクトを作成しています。
var transport = nodemailer.createTransport("SMTP", {
Host: "smtp-mail.Outlook.com", // hostname
secureConnection: false, // use SSL
port: 587, // port for secure SMTP
auth: {
user: "[email protected]",
pass: "password"
}
});
これは、メールを送信しようとしたときに発生するエラーです。
[エラー:139668100495168:エラー:1408F10B:SSLルーチン:SSL3_GET_RECORD:間違ったバージョン番号:../ deps/openssl/openssl/ssl/s3_pkt.c:337:]
IgnoreTLSをtrueに設定しようとしたとき。これは私が得ているものです
{[AuthError:無効なログイン-530 5.7.0最初にSTARTTLSコマンドを発行する必要があります]名前: 'AuthError'、データ: '530 5.7.0最初にSTARTTLSコマンドを発行する必要があります'}
私は何か間違ったことをしていますか?助けてください。
偶然出会うまで同じ問題が発生していました https://github.com/andris9/Nodemailer/issues/165
SSLv3を使用するには、tls暗号オプションを追加してみてください。
var transport = nodemailer.createTransport("SMTP", {
Host: "smtp-mail.Outlook.com", // hostname
secureConnection: false, // TLS requires secureConnection to be false
port: 587, // port for secure SMTP
auth: {
user: "[email protected]",
pass: "password"
},
tls: {
ciphers:'SSLv3'
}
});
または、hotmail/live/Outlookの場合は、単純に使用できます
var transport = nodemailer.createTransport("SMTP", {
service: "hotmail",
auth: {
user: "[email protected]",
pass: "password"
}
});
Nodemailer 1.x以降を使用している場合は、以下を使用できます。
var transporter = nodemailer.createTransport('smtp://username%40Outlook.com:[email protected]');