none
如何使用poweshell命令发送邮件? RRS feed

答案

  • 您好,

    根据报错,请检查核实$smtpserver这个参数值是否使用正确:

    经过Exchange服务器上测试您可以参考使用下面的脚本:

    ###############################################################################

    ###########Define Variables########

    $fromaddress = "alice@contoso.com"

    $toaddress = "Administrator@contoso.com"

    $Subject = "test message"

    $body = get-content .\content.htm

    $attachment = "C:\temp\test.txt"

    $smtpserver = "ex2010.contoso.com"

    ####################################

    $message = new-object System.Net.Mail.MailMessage

    $message.From = $fromaddress

    $message.To.Add($toaddress)

    $message.IsBodyHtml = $True

    $message.Subject = $Subject

    $attach = new-object Net.Mail.Attachment($attachment)

    $message.Attachments.Add($attach)

    $message.body = $body

    $smtp = new-object Net.Mail.SmtpClient($smtpserver)

    $smtp.Send($message)

    #################################################################################

    测试过程及结果:

    详见:https://gallery.technet.microsoft.com/scriptcenter/Send-HTML-Email-Powershell-6653235c

    而如果我使用$smtpserver=”mail.contoso.com”的话,则会出现类似报错:

    您也建议您检查您的服务器上的SMTP日志,检查具体的报错信息,并贴出来。

    希望可以帮到您。


    Regards,

    Jason Chao


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    • 已编辑 Jason.Chao 2017年1月16日 5:28
    • 已建议为答案 Jason.Chao 2017年1月19日 7:20
    • 已标记为答案 lczass 2017年3月24日 1:42
    2017年1月16日 5:24

全部回复

  • hi,如何使用powershell命令发送邮件呢,麻烦各位知道的帮忙给看看,谢谢!

    我使用下面powershell脚本发送邮件:

    $From = "liaochengz1@163.com"

         $To = "liaochengz1@163.com"

         $Subject = "TestSubject"
          $Body = "TestBody"

         $smtpServer = "smtp.lcz.com"

         $smtpPort = 587

         $username = "liaochengz1"

         $password = ""

          $SMTPMessage = New-Object System.Net.Mail.MailMessage($From, $To, $Subject, $Body)
          $SMTPClient = New-Object Net.Mail.SmtpClient($smtpServer, $smtpPort)
          $SMTPClient.EnableSsl = $ture
          $SMTPClient.Credentials = New-Object System.Net.NetworkCredential($username, $password)
          $SMTPClient.Send($SMTPMessage)

    我telnet smtp.163.com 587端口是通的,但是有出现了下面截图的报错,麻烦各位帮忙给看看,是哪里出问题了呢

    是ps4,这个跟powershell版本应该是没关系的

    2017年1月15日 9:01
  • 您好,

    根据报错,请检查核实$smtpserver这个参数值是否使用正确:

    经过Exchange服务器上测试您可以参考使用下面的脚本:

    ###############################################################################

    ###########Define Variables########

    $fromaddress = "alice@contoso.com"

    $toaddress = "Administrator@contoso.com"

    $Subject = "test message"

    $body = get-content .\content.htm

    $attachment = "C:\temp\test.txt"

    $smtpserver = "ex2010.contoso.com"

    ####################################

    $message = new-object System.Net.Mail.MailMessage

    $message.From = $fromaddress

    $message.To.Add($toaddress)

    $message.IsBodyHtml = $True

    $message.Subject = $Subject

    $attach = new-object Net.Mail.Attachment($attachment)

    $message.Attachments.Add($attach)

    $message.body = $body

    $smtp = new-object Net.Mail.SmtpClient($smtpserver)

    $smtp.Send($message)

    #################################################################################

    测试过程及结果:

    详见:https://gallery.technet.microsoft.com/scriptcenter/Send-HTML-Email-Powershell-6653235c

    而如果我使用$smtpserver=”mail.contoso.com”的话,则会出现类似报错:

    您也建议您检查您的服务器上的SMTP日志,检查具体的报错信息,并贴出来。

    希望可以帮到您。


    Regards,

    Jason Chao


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    • 已编辑 Jason.Chao 2017年1月16日 5:28
    • 已建议为答案 Jason.Chao 2017年1月19日 7:20
    • 已标记为答案 lczass 2017年3月24日 1:42
    2017年1月16日 5:24
  • 您好请问上面的回复是否有帮到您,如果有的话,请帮助标记为答复,这样会对其他用户有所帮助,感谢您的时间以及努力!

    祝新年快乐!


    Regards,

    Jason Chao


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    2017年1月19日 7:21
  • 您好很长时间没有看到您的回复。 相信您度过了美好的假期。请问上面的回复是否有帮到您,如果有的话,请帮助标记为答复,这样会对其他用户有所帮助,感谢您的时间以及努力!

    Regards,

    Jason Chao


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    2017年2月7日 2:58
  • 好的,我试试
    2017年3月14日 9:11