Email SMTPClient.Send“;交易失败:因政策原因被拒绝;
我一直在使用Outlook赎回库在Powershell中玩Outlook 我想做的是:我想能够自动向一个地址发送确认邮件(现在是静态的,以后可能是动态指定的) 问题是我的邮件被服务器拒绝了,我希望你们能帮助我找出为什么它会这样做,以及我应该如何/怎样才能成功发送邮件 出于隐私原因,我已经更改了一些名称,但可以肯定地认为,我用于此脚本的名称是合法的,服务器可以识别,并且没有标记为垃圾邮件 我的代码:Email SMTPClient.Send“;交易失败:因政策原因被拒绝;,email,powershell,outlook,smtpclient,Email,Powershell,Outlook,Smtpclient,我一直在使用Outlook赎回库在Powershell中玩Outlook 我想做的是:我想能够自动向一个地址发送确认邮件(现在是静态的,以后可能是动态指定的) 问题是我的邮件被服务器拒绝了,我希望你们能帮助我找出为什么它会这样做,以及我应该如何/怎样才能成功发送邮件 出于隐私原因,我已经更改了一些名称,但可以肯定地认为,我用于此脚本的名称是合法的,服务器可以识别,并且没有标记为垃圾邮件 我的代码: $mailSMTPServer=“smtp..com” $cred=获取凭证 $mailSMTPU
$mailSMTPServer=“smtp..com”
$cred=获取凭证
$mailSMTPUser=$cred.GetNetworkCredential().username
$mailSMTPPass=$cred.GetNetworkCredential().password
$Message=新对象System.Net.Mail.MailMessage
$Message.From=$routlook.CurrentUser.Name+“”
$Message.To.Add(“recipient@hotmail.com")
$Message.Subject=“确认”
$Message.IsBodyHtml=$true
$Message.Body=“谢谢您的邮件。我确认我已收到”
$Message.Sender=$routlook.CurrentUser.SMTPAddress
$SMTPClient=新对象系统.Net.Mail.SMTPClient($mailSMTPServer)
$SMTPClient.Credentials=新对象系统.Net.NetworkCredential($mailSMTPUser,$mailSMTPPass)
$SMTPClient.Send($Message)
错误(出于隐私原因部分模糊):
如果使用
$Message.From=$routlook.CurrentUser.SMTPAddress
而不是$Message.From=$routlook.CurrentUser.Name+”
?尝试添加$SMTPClient.enablesl=$true
。尝试此操作后,响应为:异常调用带有“1”参数的“发送”:“服务器不支持安全连接。“
@TomKustermans这意味着smtp.server.com
将不允许您使用该地址发送电子邮件。联系邮件服务器管理员这不是问题所在,因为这是服务器的有效地址。我在outlook应用程序中使用相同的地址,可以成功发送邮件。那么应该是其他的吗?您通常可以通过Outlook发送该电子邮件吗?服务器上是否存在阻止您向外部收件人发送邮件的策略?是的,我可以很好地发送它们,没有问题。当您在$Message.From中手动键入MailAddress(不使用var)时。。这行吗?还在想,这是服务器端的事情。使用什么服务器?你和你的(邮件)服务器管理员合作过吗?我对邮件服务器一无所知。但我知道我的邮件类型与其他合法邮件不同。我是否可以尝试发送安全邮件?
$mailSMTPServer = "smtp.<server>.com"
$cred = Get-Credential
$mailSMTPUser = $cred.GetNetworkCredential().username
$mailSMTPPass = $cred.GetNetworkCredential().password
$Message = New-Object System.Net.Mail.MailMessage
$Message.From = $routlook.CurrentUser.Name + "<"+ $routlook.CurrentUser.SMTPAddress+ ">"
$Message.To.Add("recipient@hotmail.com")
$Message.Subject = "Confirmation"
$Message.IsBodyHtml = $true
$Message.Body = "Thank you for the mail. I'm confirming I have recieved it"
$Message.Sender = $routlook.CurrentUser.SMTPAddress
$SMTPClient = New-Object System.Net.Mail.SmtpClient( $mailSMTPServer)
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential($mailSMTPUser, $mailSMTPPass)
$SMTPClient.Send($Message)