2015-11-27 6 views
5

免責事項:技術的なメールの面ではあまりよくありません。nodemailerの "from"フィールドを変更するには?

無料のzoho mailアカウントをセットアップしました。これは、基本的に私のドメインのメールサーバーです。これはmxレコード転送などで動作しますが、どのように動作するかは完全にはわかりません。

とにかく、ポイントは次のとおりです。Outlookで自分のアカウントを使用しているときは、Fromフィールドを簡単に変更できます。だから私のメールアドレス[email protected]はほとんどの電子メールクライアントでFoo from bar.comと表示されます。

[email protected]のアカウントから、nodemailer(v1.10.0)の自動EメールをSSLでSSLに送信したいとします。私はドキュメンテーション/インターネット上のさまざまなアプローチを試みました。それらのすべてがちょうどあいまいなスタックトレースを投げただけです(下記参照)。

fromフィールドを変更しようとしなくても、すべてが正常に機能します(フィールドからの間違ったを除く)。私は何が起こっているのか分からないので、私はこれをトラブルシューティングするためのいくつかの助けを求めています。

createTransport()の2番目の引数を希望のフィールドに変更しようとしました。動作しませんでした。

nodemailer.createTransport(auth.mail, {from: 'Foo from bar.com'}); 

nodemailer.createTransport(auth.mail, {from: auth.mail.auth.user}); 

私もうまくいきませんでしたauth.mail.fromを設定しようとしました。そして、createTransport()に2番目のパラメータを渡してauth.mail.fromを設定しようとしました。


私のコード

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); 
     } 
    }); 
} 
ここ

私は

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) 

答えて

7

ザ・フィールドからの形式でなければならない前に、について話しましたスタックトレースDisplay Name <[email protected]>

transporter.sendMail({ ..., from: 'Foo from @bar.com <[email protected]>' }); 
4

最初の例は、nodemailer.comウェブサイトでご覧になれます。

var nodemailer = require('nodemailer'); 

// create reusable transporter object using the default SMTP transport 
var transporter = nodemailer.createTransport('smtps://user%40gmail.com:[email protected]'); 
/*set from user in option*/ 
var mailOptions = { 
    from: 'Fred Foo <[email protected]>', // sender address 
    to: '[email protected], [email protected]', // list of receivers 
    subject: 'Hello ✔', // Subject line 
    text: 'Hello world ', // plaintext body 
    html: '<b>Hello world </b>' // html body 
}; 

transporter.sendMail(mailOptions, function(error, info){ 
    if(error){ 
     return console.log(error); 
    } 
    console.log('Message sent: ' + info.response); 
}); 
4

私はfrom:フィールドと同じ問題を持っていたと私はGmailの設定とこれを読むために戻った私が見つけたものである - 私が言ったように、唯一のGMAILを。私はまだ別のプロバイダを試していません。
SRC:nodemailer.com/usage/using-gmail/
クライアント:電子メール アドレス:Gmailの

Gmailはまたいつものようにから認証されたユーザ名を設定します。したがって、[email protected]として認証し、 [email protected]をfrom:アドレスとして設定すると、Gmailはこれを元に戻し、 は送信者を認証済みのユーザーに置き換えます。

基本的に、あなただけの

は私が間違っている場合、私は

を教えてください、ありがとう from:フィールドに認証されたユーザを指定することができます
関連する問題