Laravel 无法使用office365设置发送SMTP邮件
我使用SMTP邮件发送邮件使用Laravel。除了office365邮件设置之外,其他一切都工作正常 我使用的设置如下:Laravel 无法使用office365设置发送SMTP邮件,laravel,email,outlook,smtp,office365,Laravel,Email,Outlook,Smtp,Office365,我使用SMTP邮件发送邮件使用Laravel。除了office365邮件设置之外,其他一切都工作正常 我使用的设置如下: SMTP HOST = smtp.office365.com SMTP PORT = 587 SMTP ENCRYPTION = tls SMTP USER = username(email) SMTP PASS = password 我得到的错误是: 554 5.2.0 STOREDRV.Submission.Exception:SendAsDeniedException
SMTP HOST = smtp.office365.com
SMTP PORT = 587
SMTP ENCRYPTION = tls
SMTP USER = username(email)
SMTP PASS = password
我得到的错误是:
554 5.2.0
STOREDRV.Submission.Exception:SendAsDeniedException.MapiExceptionSendAsDenied;
由于消息存在永久异常,无法处理消息
无法提交邮件
我已经在谷歌上搜索了很多关于这个错误的信息,每个人都说这个链接很混乱
但我个人没有发现任何混乱后,所有的步骤都提到
我无法登录此电子邮件,因为它是我们的客户电子邮件id,我没有登录权限
我还创建了一个outlook电子邮件id并测试此电子邮件设置。
它很有魅力。
我不知道客户的电子邮件id有什么问题
任何建议都很好。此错误意味着您在SMTP连接中指定的凭据的用户无法代表
发件人和/或发件人的MIME头或发件人的SMTP命令中指定的用户提交邮件。Outlook不提供使用“不同于”地址发送邮件的功能除了您要登录的用户名之外
您需要两个电子邮件地址相同
您可以在管理面板中添加一个或多个发件人,然后您可以轻松地从不同的地址发送邮件。尝试4天后,邮件开始以端口25触发,因此不再尝试使用587或465。尝试使用其他端口号
主机:“smtp.office***.*”,
港口:25,
安全连接:false,
要求:正确,
tls:{
密码:“SSLv3”
},
认证:{
用户:*,
通过:***
}我面临着类似的问题,我现在就解决了,
您很可能会遇到此问题,因为“身份验证”选项中的“用户”电子邮件与“邮件”选项中的“发件人”电子邮件不同
让用户和来自电子邮件的用户相同,它将为您工作
const transporter = nodemailer.createTransport({
service: 'outlook',
port: 587,
auth: {
user: 'abcde@outlook.com',
pass: '******'
},
tls: {
rejectUnauthorized: false
}
});
// setup email data with unicode symbols
let mailOptions = {
from: "abcde@outlook.com", // sender address
to: 'xyz@gmail.com', // list of receivers
subject: 'Node Contact Request', // Subject line
text: 'Hello world?', // plain text body
html: output // html body
};
// send mail with defined transport object
transporter.sendMail(mailOptions, (error, info) => {
console.log(info);
if (error) {
return console.log(error);
}
console.log('Message sent: %s', info.messageId);
console.log('Preview URL: %s', nodemailer.getTestMessageUrl(info));
});
如果您的电子邮件未经验证,您可能会收到更多错误我使用Hotmail并遇到此问题,但通过编辑MAIL\u FROM\u ADDRESS
与MAIL\u用户名
下面是我的环境文件设置
MAIL_MAILER=smtp
MAIL_HOST=smtp-mail.outlook.com
MAIL_PORT=587
MAIL_USERNAME=myemail@hotmail.com (this must be the same as MAIL_FROM_ADDRESS!)
MAIL_PASSWORD=mypassword
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=myemail@hotmail.com (this must be the same as MAIL_USERNAME!)
完成上述操作后,一切正常。您也可以使用此邮件驱动程序:
您可以在此处指定您的租户有权访问的任何发件人电子邮件地址。已发送的电子邮件也将进入“收件人已发送邮件”文件夹。有关此问题,请检查jenkins系统管理员电子邮件,它与smtp用户电子邮件相同。您链接的解决方案是另一个错误“MapExceptionNotFound”。对于您的错误,请查看此处:您的链接也建议相同。但是我找不到上面提到的杂乱内容。您需要使用发件人标题,而不是发件人标题。设置邮件发送的电子邮件地址时,请确保您的客户影响的是哪个邮件头。我已被此错误困扰了整整4天。先生,我会在我生命中的每一天都想着你!!你用来发送代码的电子邮件和你实际发送的电子邮件。这为我解决了问题。我使用的是Wordpress插件Easy WP SMTP,我需要确保“发件人电子邮件地址”和“SMTP用户名”相同。是的,我为这个问题浪费了7天时间。最后,这解决了我的问题。希望你没有浪费你这么多的时间。签出此链接。这太疯狂了。我猜返回错误消息太容易了,比如“发件人的邮件头地址与信封发件人不匹配”或“用户名和电子邮件地址不匹配”。SMTP是一种开放标准。Microsoft不应通过SMTP返回特定于实现的邮件,这些邮件属于服务器日志。理想情况下,我们不知道我们要传送的是什么环境。在我们找到解决方案之前,我们不可能花费数小时来搜索SMTP错误的含义。