我无法在带有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,但它也失败了,如果我在基于服务器的Windows上运行该命令它执行正常。 我使用相同的帐户进行程序。
答案 0 :(得分:2)
这可能是由于很多原因造成的,但是我看到这个完全相同的错误的一个问题是因为反病毒程序阻止Powershell发送电子邮件。通过查看防病毒日志来检查是否是这种情况。
除此之外,你可能想检查防火墙是否正常,你可以连接到SMTP服务器等。
答案 1 :(得分: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")
进一步reference。
答案 2 :(得分:0)
将端口更改为25可以,但为什么?