Tuyên bố từ chối trách nhiệm: Tôi không thực sự tốt với các khía cạnh email kỹ thuật.Làm cách nào để thay đổi trường "từ" trong nodemailer?
Vì vậy, tôi đã thiết lập tài khoản miễn phí zoho mail mà về cơ bản chỉ là một máy chủ thư cho miền của tôi. Điều này kinda hoạt động thông qua chuyển tiếp ghi MX hoặc một cái gì đó, tôi không hoàn toàn chắc chắn như thế nào nó hoạt động.
Dù sao, vấn đề là: Tôi có thể dễ dàng thay đổi trường từ khi sử dụng tài khoản của tôi trên Outlook. Vì vậy, địa chỉ email của tôi [email protected]
xuất hiện dưới dạng Foo from bar.com
trong hầu hết các ứng dụng email khách.
Bây giờ tôi muốn gửi một số email tự động từ tài khoản [email protected]
của mình với nodemailer (v1.10.0) qua SMTP với SSL. Tôi đã thử các cách tiếp cận khác nhau mà tôi đã tìm thấy trong tài liệu/trên internet. Tất cả trong số họ chỉ đã ném một dấu vết xếp chồng lên nhau (xem bên dưới).
Ngay sau khi tôi ngừng cố gắng thay đổi từ trường mọi thứ hoạt động tốt (ngoại trừ sai từ trường). Vì tôi không có ý tưởng whats goin trên tôi yêu cầu một số trợ giúp xử lý sự cố này.
Tôi đã thử thay đổi đối số thứ hai của createTransport()
thành trường mong muốn của tôi. Đã không làm việc.
nodemailer.createTransport(auth.mail, {from: auth.mail.auth.user});
để
nodemailer.createTransport(auth.mail, {from: 'Foo from bar.com'});
Tôi đã thử đặt auth.mail.from
mà cũng không làm việc. Và tôi đã thử đặt auth.mail.from
bằng cách chuyển tham số thứ 2 đến createTransport()
.
Mã của tôi
var nodemailer = require('nodemailer');
var auth = { mail: { host: 'smtp.zoho.com', port: 465, secure: true, auth: { user: '[email protected]', pass: 'strongpassword' } };
var log = require('./log');
var transporter = nodemailer.createTransport(auth.mail, {from: auth.mail.auth.user});
function sendText(settings,cb) {
transporter.sendMail(settings, function (err, info) {
if (err) {
log.warn('Failed to send an Email', err);
} else {
log.info('Successfully sent email', info);
}
if (cb) {
cb(err, info);
}
});
}
Đây stacktrace Tôi đã nói về trước
Message failed
at SMTPConnection._formatError (c:\...\node_modules\nodemailer\node_modules\nodemailer-smtp-transport\node_modules\smtp-connection\src\smtp-connection.js:388:15)
at SMTPConnection._actionStream (c:\...\node_modules\nodemailer\node_modules\nodemailer-smtp-transport\node_modules\smtp-connection\src\smtp-connection.js:948:30)
at SMTPConnection.<anonymous> (c:\...\node_modules\nodemailer\node_modules\nodemailer-smtp-transport\node_modules\smtp-connection\src\smtp-connection.js:579:14)
at SMTPConnection._processResponse (c:\...\node_modules\nodemailer\node_modules\nodemailer-smtp-transport\node_modules\smtp-connection\src\smtp-connection.js:511:16)
at SMTPConnection._onData (c:\...\node_modules\nodemailer\node_modules\nodemailer-smtp-transport\node_modules\smtp-connection\src\smtp-connection.js:357:10)
at emitOne (events.js:77:13)
at TLSSocket.emit (events.js:169:7)
at readableAddChunk (_stream_readable.js:146:16)
at TLSSocket.Readable.push (_stream_readable.js:110:10)
at TLSWrap.onread (net.js:523:20)