一直以來就用.net的方式發(fā)送郵件。由于powershell自帶的方式用起來easy出錯。且比較簡單,近期看到一些人也反應使用中遇到麻煩。
#定義函數(shù)function sendmail($mailaddr,$body){$msg=New-Object System.Net.Mail.MailMessage$msg.To.Add($mailaddr)$msg.From = New-Object System.Net.Mail.MailAddress("發(fā)送郵件的賬號@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")#創(chuàng)建附件#$msg.Attachments.add($Attachments) #加入附件。英文名可多個。中文名就僅僅能帶一個。$msg.BodyEncoding = [system.Text.Encoding]::GetEncoding("GB2312")$msg.IsBodyHtml = $false#發(fā)送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 } }#發(fā)送郵件sendmail $mailaddr $body