“缺少“PLAIN”的凭据”NextAuthJs

问题描述 投票:0回答:1

您好,我正在学习如何使用 Next auth 进行身份验证。我已经使用 gmail 设置了 smtp,但是当我尝试从我的应用程序请求 madic 链接时,我收到此错误:

[next-auth][error][SIGNIN_EMAIL_ERROR] 
https://next-auth.js.org/errors#signin_email_error Missing credentials for "PLAIN" {
  error: {
    message: 'Missing credentials for "PLAIN"',
    stack: 'Error: Missing credentials for "PLAIN"\n' +
      '    at SMTPConnection._formatError (C:\\Users\\Jacob Mutale\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:790:19)\n' +
      '    at SMTPConnection.login (C:\\Users\\Jacob Mutale\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:444:38)\n' +
      '    at C:\\Users\\Jacob Mutale\\node_modules\\nodemailer\\lib\\smtp-transport\\index.js:272:32\n' +      
      '    at SMTPConnection.<anonymous> (C:\\Users\\Jacob Mutale\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:213:17)\n' +
      '    at Object.onceWrapper (node:events:627:28)\n' +
      '    at SMTPConnection.emit (node:events:513:28)\n' +
      '    at SMTPConnection.emit (node:domain:489:12)\n' +
      '    at SMTPConnection._actionEHLO (C:\\Users\\Jacob Mutale\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:1325:14)\n' +
      '    at SMTPConnection._processResponse (C:\\Users\\Jacob Mutale\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:953:20)\n' +
      '    at SMTPConnection._onData (C:\\Users\\Jacob Mutale\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:755:14)',
    name: 'Error'
  },
  providerId: 'email',
  message: 'Missing credentials for "PLAIN"'
}

这是我的

auth/[...nextauth].js
文件:

import NextAuth from "next-auth";
import EmailProvider from "next-auth/providers/email";
import nodemailer from "nodemailer";
import { PrismaAdapter } from "@next-auth/prisma-adapter";
import { PrismaClient } from "@prisma/client";

const prisma = new PrismaClient();
console.log(process.env.EMAIL_SERVER_USER);
console.log(process.env.EMAIL_SERVER_PASSWORD);
export default NextAuth({
  providers: [
    EmailProvider({
      server: {
        host: process.env.EMAIL_SERVER_HOST,
        port: process.env.EMAIL_SERVER_PORT,
        auth: {
          user: process.env.EMAIL_SERVER_USER,
          password: process.env.EMAIL_SERVER_PASSWORD,
        },
      },
      from: process.env.EMAIL_FROM,
      maxAge: 10 * 60,
    }),
  ],
  adapter: PrismaAdapter(prisma),
});
next.js nodemailer next-auth
1个回答
0
投票

只需更改密码即可通过

auth: {
          user: process.env.EMAIL_SERVER_USER,
          pass: process.env.EMAIL_SERVER_PASSWORD, <-- here
        },
© www.soinside.com 2019 - 2024. All rights reserved.