Mil*_*tel 5 email outlook smtp office365 laravel
我正在使用SMTP邮件通过Laravel发送邮件。除office365邮件设置外,其他所有功能均正常运行。
我使用的设置如下:
SMTP HOST = smtp.office365.com
SMTP PORT = 587
SMTP ENCRYPTION = tls
SMTP USER = username(email)
SMTP PASS = password
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
554 5.2.0 STOREDRV.Submission.Exception:SendAsDeniedException.MapiExceptionSendAsDenied; 由于消息的永久异常而无法处理消息无法提交消息
我已经在Google上搜索了很多此错误,每个人都说过类似此链接的混乱情况。 解决此错误的方法, 但我个人在遵循所有提到的步骤后没有发现任何混乱情况。
我无法登录此电子邮件,因为这是我们的客户电子邮件ID,并且我没有登录权限。
我还创建了一个Outlook电子邮件ID并测试此电子邮件设置。它像魅力一样运作。我不知道客户电子邮件ID有什么问题。
任何建议都很好。
Aru*_*run 15
我遇到了类似的问题,我现在已经解决了,您很可能面临这个问题,因为身份验证选项中的“用户”电子邮件和邮件选项中的“发件人”电子邮件不同
使用户和电子邮件相同,它将为您工作
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));
});
Run Code Online (Sandbox Code Playgroud)
如果您的电子邮件未经验证,您可能会收到更多错误
该错误表示您在SMTP连接中指定其凭据的用户无法代表From/ SenderMIME标题或FROMSMTP命令中指定的用户提交邮件。
Outlook不提供使用不同于您的用户名登录的地址进行发送。
您需要两个电子邮件地址相同。
您可以在管理面板中添加一个或多个发件人,之后可以轻松地从其他地址进行发送。
我使用 Hotmail 并遇到了这个问题,但通过编辑MAIL_FROM_ADDRESS为相同的解决方案MAIL_USERNAME
下面是我设置的 env 文件。
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!)
Run Code Online (Sandbox Code Playgroud)
完成上述操作后一切正常。
| 归档时间: |
|
| 查看次数: |
7318 次 |
| 最近记录: |