如何向外部电子邮件发送电子邮件

时间:2016-05-26 17:03:01

标签: powershell powershell-v2.0

我有代码检查外发文件夹中的文件,如果创建了新文件,它会向指定的电子邮件发送通知电子邮件。我遇到的问题是它在内部发送电子邮件,但我们服务器以外的任何人都没有收到电子邮件。以下是我如何设置SMTP的示例:

$global:smtpTo = ""
$smtpServer    = "mail.mllc.org"
$smtpFrom      = "teresab@medical.org"

$smtp = New-Object -TypeName "Net.Mail.SmtpClient" -ArgumentList $smtpServer

if ("$($deptClient)" -eq "\\vavm\FTP\CINICO\Outgoing\Ruth") {
  Write-Host "$($deptClient)"
  $global:smtpSubject = "$($Event.SourceEventArgs.Name)"
  $global:smtpTo      = "r@cinico.ky, teresab@medical.org "
}
$smtp.Send($smtpFrom, $global:smtpTo, $global:smtpSubject, $smtpBody) 

这是我收到的错误:Mailbox unavailable. The server response was: 5.7.1 Unable to relay"

1 个答案:

答案 0 :(得分:1)

是不是PowerShell v2.0中引入的Send-MailMessage cmdlet?这可能比Net.Mail.SmtpClient更容易使用。

无论如何......

如果您能够接收发送到内部地址的邮件,并且只有外部地址失败,则告诉我问题可能与您的SMTP客户端无关。这告诉我SMTP服务器存在问题。客户并不知道内部和外部收件人之间的区别。

您应检查SMTP服务器日志,并确保允许SMTP服务器向外部收件人发送电子邮件(即,防火墙上没有阻止端口25,您正确配置了外部DNS等。 )。