0

我不能让它在带有 powershell 2 的 Windows 7 客户端上工作

 $smtpServer = "smtp.example.com"
 $msg = new-object Net.Mail.MailMessage
 $smtp = new-object Net.Mail.SmtpClient($smtpServer)
 $msg.From = "fromID@example.com"
 $msg.ReplyTo = "replyto@example.com"
 $msg.To.Add("toID@example.com")
 $msg.subject = "My Subject"
 $msg.body = "This is the email Body."
 $smtp.Send($msg)

我收到一个异常,上面写着“异常调用”使用“1”参数发送“发送邮件失败”有人知道吗?我已经尝试过 Send-MailMessage 但它也失败了,如果我在基于服务器的窗口上运行该命令,它执行得很好。我使用相同的帐户进行程序。

4

3 回答 3

2

这可能是由于许多原因造成的,但我看到这个完全相同的错误的一个问题是,防病毒程序阻止了 Powershell 发送电子邮件。通过查看您的防病毒日志来检查是否是这种情况。

除此之外,您可能想检查防火墙是否正常,您可以连接到 SMTP 服务器等。

于 2013-09-05T12:47:32.257 回答
1

这可能有效:

$ol = New-Object -comObject Outlook.Application 
$mail = $ol.CreateItem(0) 
$Mail.Recipients.Add("XXX@YYY.ZZZ") 
$Mail.Subject = "PS1 Script TestMail" 
$Mail.Body = "Test Mail"
$Mail.Send() 

# you can use this for HTML-Mails 
# $Mail.HTMLBody = "<HTML><HEAD>Text<B>BOLD</B>  <span style='color:#E36C0A'>Color Text</span></HEAD></HTML>" 
# you can use this for attache a file 
# $Mail.Attachments.Add("D:\scripte\ol.txt")

供进一步参考

于 2014-06-11T06:06:17.097 回答
0

将端口更改为 25 可行,但为什么呢?

于 2016-06-01T10:36:14.240 回答