使用本地桌面上的 Powershell,我能够成功地向我们的 O365 电子邮件服务器发送一封外发电子邮件:
$mycredentials = Get-Credential
Send-MailMessage -smtpServer company.mail.protection.outlook.com -credential $mycredentials -from '[email protected]' -to '[email protected]' -subject 'TestSubject'
但是,当我尝试从 Azure VM 发送邮件时,使用完全相同的命令/凭据/值时出现错误。
我已经在 Windows 防火墙和 Azure 防火墙上为虚拟机打开了端口 25 和 587。
关于为什么这可能在我的本地桌面上运行但在 Azure VM 上却不运行,还有其他建议吗?
答案1
端口 25 被 Azure 阻止(即使在 Windows 和 Azure 防火墙上允许),但您可以在 Azure 中添加 SendGrid 作为资源,然后改用端口 2525。
答案2
不幸的是,sendgrid 降低了免费发送消息的限制,现在每月只能发送 100 条。一切美好的事物都会有结束。