能否通过PowerShell移除邮件中的外部提示消息?
解决PowerShell发送邮件时出现外部邮件安全提示的问题
问题现象
"这是一封外部邮件。您知道发件人是谁吗?您能确定其中包含的所有链接和附件都是安全的吗?如有任何疑问,请使用Outlook客户端中的钓鱼举报按钮,或将邮件转发至~我遭遇了钓鱼"
通过PowerShell发送邮件时出现上述提示,本质是邮件系统(如Exchange/Outlook)将PowerShell发出的邮件判定为外部来源,触发了组织的安全防护策略。
解决方法
- 使用内部可信发件人及SMTP服务器:确保发件人邮箱属于组织内部域,并且使用内部Exchange或经过认证的SMTP服务器发送邮件,避免被标记为外部来源。
- 添加豁免规则:联系Exchange管理员,将PowerShell发送邮件使用的账户、IP地址或发件人域添加到安全提示的豁免列表中,跳过外部邮件警示。
- 正确配置邮件认证:发送邮件时使用NTLM、OAuth等符合组织要求的认证方式,让邮件系统识别为内部可信流量。
示例代码(Exchange Online场景)
# 安装并连接Exchange Online模块 Install-Module -Name ExchangeOnlineManagement -Force -AllowClobber Connect-ExchangeOnline -UserPrincipalName your_internal_account@yourdomain.com # 发送内部邮件 Send-MailMessage -From "your_internal_account@yourdomain.com" ` -To "recipient@yourdomain.com" ` -Subject "内部测试邮件" ` -Body "无外部安全提示的测试内容" ` -SmtpServer "smtp.office365.com" ` -Port 587 ` -UseSsl ` -Credential (Get-Credential)
内容的提问来源于stack exchange,提问作者Kasi Raman
相关产品推荐
相关产品推荐

