2017-10-01 8 views
-1

"エラー:無効なログイン:535認証に失敗しました:ユーザー名とパスワードが間違っています" 。何があなたのGithub上のクロス投稿やエラーのスクリーンショットから、指定されていませんでしたが、あなたの問題は、ユーザー名/パスワードを取得していることをより具体的に..です enter image description hereエラー:無効なログイン:535認証に失敗しました:ノードメーラのユーザー名/パスワードが正しくありません

const sendForgotPasswordEmail = (user) => { 
    if (!user) { return; } 
    const token = user.passwordResetToken; 
    const transporter = nodemailer.createTransport({ 
     service: 'SendGrid', 
     auth: { 
     user: process.env.SENDGRID_USER, 
     pass: process.env.SENDGRID_PASSWORD 
     } 
    }); 
    const mailOptions = { 
     to: user.email, 
     from: '[email protected]', 
     subject: 'Reset your password', 
     text: `You are receiving this email because you (or someone else) have requested the reset of the password for your account.\n\n 
     Please click on the following link, or paste this into your browser to complete the process:\n\n 
     http://${req.headers.host}/reset/${token}\n\n 
     If you did not request this, please ignore this email and your password will remain unchanged.\n` 
    }; 
    return transporter.sendMail(mailOptions) 
     .then(() => { 
     req.flash('info', { msg: `An e-mail has been sent to ${user.email} with further instructions.` }); 
     }); 
    }; 

    createRandomToken 
    .then(setRandomToken) 
    .then(sendForgotPasswordEmail) 
    .then(() => res.redirect('/forgot')) 
    .catch(next); 

答えて

0

問題になる可能性がありますHackathon StarterSendGridの設定で)を使用するとエラーが発生します。そのフードの下のプロジェクトはnodemailerを使います。

私はSendGridと有効なユーザー名とパスワードでHackathon Starterをテストしましたが、意図したとおりに動作したので、Hackathon StarterまたはNodemailerでは問題ありません。だからあなたの特定のケースでは、SendGridが投稿したエラーによると、彼らが受け取ったユーザー名とパスワードが、システムの有効なユーザー名パスワードに対応していないという応答をしています。私は次のように提案します:

  1. ウェブサイトでSendGridにログインし、ユーザー名とパスワードを再確認してください。 SendGridが提供するAPIキーはユーザー名とパスワードではありません。 SendGridを使用したSMTPメール認証とは異なる目的を意図しています。あなたは、SendGridのAccount DetailsでUsername/Passwordを使用する必要があります。
  2. あなたの環境変数がSendGrid "username"と "password"で正しく設定されていることを確認してください。ほとんどの場合、ユーザー名とパスワードの前後に一重引用符や二重引用符を追加する必要はありません(少なくともそれが私のために働いています)。あなたの環境変数が適切に設定されているかどうかを確認するために、次のようなコードを一時的にコードに追加することができます。

    console.log "SENDGRID_USER env variable is set as:", process.env.SENDGRID_USER console.log "SENDGRID_PASSWORD env variable is set as:", process.env.SENDGRID_PASSWORD

クリアテキストとしてコンソールログに入るパスワードを持つことが、セキュリティ上の問題になることができるので、検証した後、このデバッグコードを削除することを確認します。

ちなみに、mailOptionsには、from:フィールドをプロジェクトのメールアドレス/エイリアスの1つに対応する有効なメールアドレスに変更したい場合があります。

+0

hackerthonスターターに同梱されているのと同じパスワードとユーザー名を使用しましたが、同じエラーが表示されます。それをノード8.0でローカルに実行していますか? –

+0

他のユーザーのユーザー名パスワードを使用しているのはなぜですか?インターネット上に公開されているユーザー名のパスワードは、誰でも使用や濫用するために有効なのはなぜですか?サービスプロバイダにアカウントを作成し、利用規約に同意し、プロジェクトと共にプレースホルダとして投稿されるダミーのユーザー名パスワードの代わりに、独自のユーザー名とパスワードを使用する必要があります。 Hackathon StarterのReadme - Sendgridを参照してください:https://sendgrid.com/user/signupにアクセスして、アクティベーション電子メールでサインアップしてアカウントを確認し、SendGridのユーザー名とパスワードを.envファイルに入力してください " – YasharF

関連する問題