我正在使用nant发送邮件,并且工作正常-类似于
<mail
from="Test@b.c"
tolist="A@b.c"
subject="Test"
mailhost="myhost.mydomain.com"
isbodyhtml="true"
message= "${Test}">
</mail>
我不必使用任何身份验证。
现在,当使用Powershell时,似乎我不得不使用身份验证-这样的操作将失败:
Send-MailMessage -To $to -From $from -Subject "Test" –Body “Test (body) -SmtpServer "myhost.mydomain.com"
我会收到以下消息:
Send-MailMessage : No credentials are available in the security package
如果服务器支持,我是否缺少某种无需指定凭据即可发送邮件的方式?
编辑:
我也尝试过在这里发送匿名邮件的答案,但它只是超时:
send anonymous mails using powershell
最佳答案
使用Powershell v1方法发送邮件无需验证即可正常工作,如here所示
我的Powershell版本是5,但是除非有人有其他想法,否则显然这是可行的方法。
$smtpServer = "ho-ex2010-caht1.exchangeserverpro.net"
$smtpFrom = "reports@exchangeserverpro.net"
$smtpTo = $to
$messageSubject = $subject
$messageBody = $body
$smtp = New-Object Net.Mail.SmtpClient($smtpServer)
$smtp.Send($smtpFrom,$smtpTo,$messagesubject,$messagebody)