powershell 通过SMTP发送邮件
Posted clnchanpin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了powershell 通过SMTP发送邮件相关的知识,希望对你有一定的参考价值。
一直以来就用.net的方式发送邮件。由于powershell自带的方式用起来easy出错。且比較简单,近期看到一些人也反应使用中遇到麻烦。
#定义函数 function sendmail($mailaddr,$body){ $msg=New-Object System.Net.Mail.MailMessage $msg.To.Add($mailaddr) $msg.From = New-Object System.Net.Mail.MailAddress("发送邮件的账号@xxx.com", "显示名",[system.Text.Encoding]::GetEncoding("GB2312")) $msg.Subject = "标题" $msg.SubjectEncoding = [system.Text.Encoding]::GetEncoding("GB2312") $msg.Body =$body #$Attachments=New-Object System.Net.Mail.Attachment("D:\Documents\xxxx.zip")#创建附件 #$msg.Attachments.add($Attachments) #加入附件。英文名可多个。中文名就仅仅能带一个。 $msg.BodyEncoding = [system.Text.Encoding]::GetEncoding("GB2312") $msg.IsBodyhtml = $false#发送html格式邮件 #$msg.Priority = [System.Net.Mail.MailPriority]::High $client = New-Object System.Net.Mail.SmtpClient("SMTP地址") $client.UseDefaultCredentials = $false $client.Credentials=New-Object System.Net.NetworkCredential("账号@xxx.com", "password") try {$client.Send($msg)} catch [Exception]{$($_.Exception.Message) $mailaddr } } #发送邮件 sendmail $mailaddr $body
??
以上是关于powershell 通过SMTP发送邮件的主要内容,如果未能解决你的问题,请参考以下文章
使用 PowerShell 通过电子邮件通知获取硬盘 SMART 数据
Oracle PLSQL通过SMTP发送E-MAIL邮件代码