Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Email SMTPClient.Send“;交易失败:因政策原因被拒绝;_Email_Powershell_Outlook_Smtpclient - Fatal编程技术网

Email SMTPClient.Send“;交易失败:因政策原因被拒绝;

Email SMTPClient.Send“;交易失败:因政策原因被拒绝;,email,powershell,outlook,smtpclient,Email,Powershell,Outlook,Smtpclient,我一直在使用Outlook赎回库在Powershell中玩Outlook 我想做的是:我想能够自动向一个地址发送确认邮件(现在是静态的,以后可能是动态指定的) 问题是我的邮件被服务器拒绝了,我希望你们能帮助我找出为什么它会这样做,以及我应该如何/怎样才能成功发送邮件 出于隐私原因,我已经更改了一些名称,但可以肯定地认为,我用于此脚本的名称是合法的,服务器可以识别,并且没有标记为垃圾邮件 我的代码: $mailSMTPServer=“smtp..com” $cred=获取凭证 $mailSMTPU

我一直在使用Outlook赎回库在Powershell中玩Outlook

我想做的是:我想能够自动向一个地址发送确认邮件(现在是静态的,以后可能是动态指定的)

问题是我的邮件被服务器拒绝了,我希望你们能帮助我找出为什么它会这样做,以及我应该如何/怎样才能成功发送邮件

出于隐私原因,我已经更改了一些名称,但可以肯定地认为,我用于此脚本的名称是合法的,服务器可以识别,并且没有标记为垃圾邮件

我的代码:
$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)