【问题标题】:Sending E-mail to Multiple Recipients with Authentication通过身份验证向多个收件人发送电子邮件
【发布时间】:2015-05-29 12:11:21
【问题描述】:

我正在尝试通过 Powershell 发送电子邮件。我可以使用下面的代码毫无问题地向一位收件人发送电子邮件。但是,当我向$EmailTo 变量添加第二个收件人时,我没有收到电子邮件。我也没有收到任何错误。我做了一些研究,似乎 SMTP 客户端发送电子邮件的方式不需要多个收件人。

$EmailFrom = "sender@email.com" 
$EmailTo = "recipient1@email.com"
$EmailBody = "Test Body" 
$EmailSubject = "Test Subject"
$Username = "carlos@email.com"
$Password = "12345"

$Message = New-Object Net.Mail.MailMessage($EmailFrom, $EmailTo, $EmailSubject, $EmailBody)
$SMTPClient = New-Object Net.Mail.SmtpClient("smtp.com", 123) #Port can be changed 
$SMTPClient.EnableSsl = $true 
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential($Username, $Password);
$SMTPClient.Send($Message)

我尝试使用 Send-MailMessage 命令,但它给我带来了问题。

Send-MailMessage -from $EmailFrom -to $EmailTo -Subject $EmailSubject `
  -smtpserver smtp.com -usessl `
  -credential (new-object System.NetworkCredential("$Username","$Password"))

我得到的错误是

找不到类型 [System.NetworkCredential]...

您有什么想法可以通过身份验证向多个收件人发送电子邮件的最佳方式是什么?

【问题讨论】:

    标签: email powershell


    【解决方案1】:

    确保用逗号分隔您的$EmailTo 地址列表,并且不要作为数组传递。即:

    这样做:

    $EmailTo = "recipient1@email.com,recipient2@email.com"
    

    不要这样做:

    $EmailTo = "recipient1@email.com","recipient2@email.com"
    

    或者这个:

    $EmailTo = "recipient1@email.com;recipient2@email.com"
    

    最后一个会抛出你很容易注意到的以下异常:

    New-Object : 使用“4”参数调用“.ctor”的异常:“指定的字符串不是电子邮件地址所需的格式。”

    【讨论】:

      【解决方案2】:

      类名是System.<b>Net</b>.NetworkCredential,而不是System.NetworkCredential

      改变这个:

      Send-MailMessage -from $EmailFrom -to $EmailTo -Subject $EmailSubject `
        -smtpserver smtp.com -usessl `
        -credential (new-object System.NetworkCredential("$Username","$Password"))
      

      进入这个:

      Send-MailMessage -From $EmailFrom -To $EmailTo -Subject $EmailSubject `
        -SmtpServer smtp.com -UseSsl `
        -Credential (New-Object Net.NetworkCredential($Username, $Password))
      

      问题应该会消失。

      【讨论】:

        猜你喜欢
        • 2013-10-30
        • 1970-01-01
        • 2012-05-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-10
        相关资源
        最近更新 更多