Email 使用Powershell发送电子邮件时出现问题
我已运行以下脚本:Email 使用Powershell发送电子邮件时出现问题,email,powershell,exchange-server,Email,Powershell,Exchange Server,我已运行以下脚本: PS C:\>将邮件消息发送至-From-Body“这是一个测试”-主题“测试邮件”-SmtpServer 我收到以下错误: 发送邮件消息:无法从传输连接读取数据:网络io连接已关闭。 第1行字符:17 +发送邮件我更喜欢Net.Mail.SmtpClient发送电子邮件的方法。此脚本将发送作为参数传递的文件的内容 $emailFrom = "AUTOMATED_PRERUN@somehost.com" $emailTo = "somebody@somehost.com" $
PS C:\>将邮件消息发送至-From-Body“这是一个测试”-主题“测试邮件”-SmtpServer
我收到以下错误:
发送邮件消息:无法从传输连接读取数据:网络io连接已关闭。
第1行字符:17
+发送邮件我更喜欢Net.Mail.SmtpClient发送电子邮件的方法。此脚本将发送作为参数传递的文件的内容
$emailFrom = "AUTOMATED_PRERUN@somehost.com"
$emailTo = "somebody@somehost.com"
$subject = "TEST"
get-content $Args[0] | %{$Body+= " {0} `n" -f $_}
$smtpServer = "mailserver.somehost.com"
$smtp = new-object Net.Mail.SmtpClient($smtpServer)
$smtp.Send($emailFrom, $emailTo, $subject, $body)
不过,您的错误听起来更像是某种类型的网络问题
您可能需要检查是否可以访问服务器上的SMTP端口:
我更喜欢Net.Mail.SmtpClient发送电子邮件的方法。此脚本将发送作为参数传递的文件的内容
$emailFrom = "AUTOMATED_PRERUN@somehost.com"
$emailTo = "somebody@somehost.com"
$subject = "TEST"
get-content $Args[0] | %{$Body+= " {0} `n" -f $_}
$smtpServer = "mailserver.somehost.com"
$smtp = new-object Net.Mail.SmtpClient($smtpServer)
$smtp.Send($emailFrom, $emailTo, $subject, $body)
不过,您的错误听起来更像是某种类型的网络问题
您可能需要检查是否可以访问服务器上的SMTP端口:
可能是您的防病毒文件服务正在锁定邮件传递。可能是您的防病毒文件服务正在锁定邮件传递。一些信息:抱歉,是的,SMTP是exchange服务器。我想是时候跟您的exchange管理员谈谈了。谢谢大家的帮助。我在网上搜索了那个错误消息,结果一无所获(有结果,但不清楚)。我想在这里问一下。再次感谢。我找到了这个链接,它适用于我的案例。一些信息:对不起,是的,SMTP是一个exchange服务器。我想是时候去和你的exchange管理员谈谈了。谢谢大家的帮助。我在网上搜索了那个错误消息,结果一无所获(有结果,但不清楚)。我想在这里问一下。再次感谢。我找到了这个链接,它适用于我的案例。谢谢你的帮助。我将不得不等待管理员可用。我试图远程登录服务器;无法连接。我猜有些权限设置不正确。一旦我开始工作,我会考虑使用你的方法,尽管你的第四行代码对我来说有点不清楚。我接受你的回答。再次感谢!在第四行代码中,我将文件内容转储到电子邮件正文中$Args[0]包含我传递到脚本中的文件名。如Send MailMessage中的错误消息所示,它也“只是”使用System.Net.Mail.SmtpClient来完成其工作。感谢您的帮助。我将不得不等待管理员可用。我试图远程登录服务器;无法连接。我猜有些权限设置不正确。一旦我开始工作,我会考虑使用你的方法,尽管你的第四行代码对我来说有点不清楚。我接受你的回答。再次感谢!在第四行代码中,我将文件内容转储到电子邮件正文中$Args[0]包含我传递到脚本中的文件名。如Send MailMessage中的错误消息所示,它也“只是”使用System.Net.Mail.SmtpClient执行其工作。