2017-10-04 37 views
0

AWS Lambda関数で次のコード(実際の電子メールアドレスとパスワードを使用)を呼び出しています。残念ながら、ログを表示できません(現在、アカウントには権限がありません)。ラムダ関数から電子メールを送信するように設定する必要のある特定のアクセス許可はありますか?または、メールを送信してメールする方法がありますか?AWS Lambdaでnodemailerで電子メールを送信する方法

var transporter = nodemailer.createTransport({ 
    service: 'gmail', 
    auth: { 
     user: '[email protected]', 
     pass: 'paswword' 
    } 
    }); 

    var mailOptions = { 
    from: '[email protected]', 
    to: '[email protected]', 
    subject: 'Sending Email using Node.js', 
    text: 'That was easy!' 
    }; 

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

答えて

0

ローカルで動作しますか?私はそれから始めるだろう。 https://www.google.com/settings/security/lesssecureapps機能が無効になっているため、メソッドが機能していない可能性があります。

HTTP統合を使用していると仮定してログが表示されない場合は、配列を作成してconsole.logを呼び出す代わりに、その配列に各ログを追加します。機能の終わりに、私は単にそのログを含む200で応答します。

また、https://aws.amazon.com/ses/を使用することもできます。これはクラウドベースの電子メール送信サービスです。 AWS Lambdaとうまく機能します。それを有効にするには、ses:SendEmail権限を追加し、確認プロセスを完了する必要があります。

+0

迅速な対応に感謝します。 Amazon SESに入る前に、ラムダ関数からメソッド呼び出しで電子メールを送信できますか? –

+1

これはどのように実行されるのかの例です:https://github.com/netguru/aws-iam-manager/blob/master/src/ses.js#L118。 AWSラムダ環境にもあります。 –

+0

また、AWS SESを使用すると追加料金が発生する可能性があります。 https://aws.amazon.com/ses/pricing/ –

関連する問題