PowerShell发送邮件(587)

 

    #定义邮件服务器
    $smtpServer = "mail.xx.com"
    $smtpUser = "sender"
    $smtpPassword = "password"
    $mail = New-Object System.Net.Mail.MailMessage

    #定义发件人邮箱地址、收件人邮箱地址
    $MailAddress="sender@xx.com"
    $MailtoAddress="l1@xx.com"

    $mail.From = New-Object System.Net.Mail.MailAddress($MailAddress)
    $mail.To.Add($MailtoAddress)

    #定义邮件标题、优先级和正文
    $mail.Subject = "Test587";
    $mail.Priority  = "High"
    $mail.Body = "Test Mail"
    $smtp = New-Object System.Net.Mail.SmtpClient -argumentList $smtpServer,587 #使用587端口
    $smtp.Enablessl = $true  #使用TLS加密
    $smtp.Credentials = New-Object System.Net.NetworkCredential -argumentList $smtpUser,$smtpPassword
    $smtp.Send($mail)

 

发送html格式邮件(图片位于可访问站点上)

#密码过期提醒发送邮件  -2017-07-18

#定义邮件服务器
$smtpServer = "mail.x.com"
$smtpUser = "user@x.com"
$smtpPassword = "password"
$mail = New-Object System.Net.Mail.MailMessage

#定义发件人邮箱地址、收件人邮箱地址
$MailAddress="user@x.com"
$mail.From = New-Object System.Net.Mail.MailAddress($MailAddress)
$mail.IsBodyHtml = $True #定义为HTML格式邮件

#定义邮件标题、优先级和正文
$mail.Subject = "提醒:";
$mail.Priority  = "High"
$smtp = New-Object System.Net.Mail.SmtpClient -argumentList $smtpServer,587 #使用587端口
$smtp.Enablessl = $true  #使用TLS加密
$smtp.Credentials = New-Object System.Net.NetworkCredential -argumentList $smtpUser,$smtpPassword

$MailtoAddress="l@x.com"
$mail.To.Add($MailtoAddress)
$mail.Body = "<html><body><span style='font-size:10.5pt;font-family:宋体'>
您好,
<br><br>  &nbsp;&nbsp;&nbsp;&nbsp;您的帐号 密码将会于3天后过期。请尽快修改!
<br><br>    &nbsp;&nbsp;&nbsp;&nbsp;修改方法:。
<br><br><br> <img  width=146 height=52 alt="""" src=""http://img.x.com/logo.png"" />
<br>-----------------------------------------
<br>这封邮件由管理程序自动生成,请勿直接回复!
</span></body></html>"
$smtp.Send($mail)

 

发送邮件,正文包含的图片位于本地计算机

#定义发送邮件函数
Function Sendmail($user_to,$mail_subject,$mail_body)
{
#定义邮件服务器
$smtpServer = "mail.x.com"
$smtpUser = "user@x.com"
$smtpPassword = "password"
#定义位于本地计算机上的图片路径
$file = "D:\temp\sharepoint\ssh_fxk.png"

$mail = New-Object System.Net.Mail.MailMessage
#定义发件人邮箱地址、收件人邮箱地址
$user_from = $smtpUser
#$MailtoAddress="ITsupport@xin.com,duchangming@xin.com"
$mail.From = New-Object System.Net.Mail.MailAddress($user_from)
$mail.IsBodyHtml = $True 

#添加图片
$att = New-Object System.Net.Mail.Attachment($file)
$att.ContentType.MediaType = "image/png"
$att.ContentId = "pict"
$att.TransferEncoding = [System.Net.Mime.TransferEncoding]::Base64
$mail.Attachments.Add($att)

$mail.Body = $mail_body
$mail.To.Add($user_to)
#定义邮件标题、优先级和正文
$mail.Subject = $mail_subject
$mail.Priority  = "High"
$smtp = New-Object System.Net.Mail.SmtpClient -argumentList $smtpServer,587 #使用587端口
$smtp.Enablessl = $true  #使用TLS加密
$smtp.Credentials = New-Object System.Net.NetworkCredential -argumentList $smtpUser,$smtpPassword
$smtp.Send($mail)

$att.Dispose()
}


$mail_subject =  "O365 文档库创建成功"
$mail_body = "<html><body><span style='font-size:12pt;font-family:宋体'>
XX您好,
 <br>&nbsp;&nbsp;&nbsp;&nbsp;Office365 SharePoint文档库已创建成功,请使用邮箱账号(如 Jim@xin.com )登录 https://abc.com 创建、上传和共享文件。使用方法参考如下:</br>
 <p>&nbsp;</p>
 <p><span style='font-size:22px'>创建文件</span></p>
 <p><span style='font-size:18px'>1.要创建新文件,请选择""<b >新建</b>""和所需文件类型。</span></p>
 <p><span style='font-size:18px'>2.在浏览器中打开新文件时,将文本和图像等添加到文件,文件将自动保存到文档库。</span></p>
 <p><span style='font-size:18px'>3.选择网站名称,查看文档库中的新文件。</span></p>
 <br>
 <p><span style='font-size:22px'>上传文件</span></p>
 <p><span style='font-size:18px'>在计算机中选择所需文件,然后按住鼠标将其拖放到文档库。</span></p>
 <br>
 <p><span style='font-size:22px'>共享文件</span></p>
 <p><span style='font-size:18px'>1.选择要共享的文件,此时会出现绿色复选标记<img src='cid:pict'/> </span></p>
 <p><span style='font-size:18px'>2.选择""<b>共享</b>""。</span></p>
 <p><span style='font-size:18px'>3.选择一个选项来共享文件:</span></p>
 <ul>
    <li>
        <p>添加希望与其共享文件的人员的电子邮件,在邮件中键入内容,然后选择""<b>发送</b>""。</p>
    </li>
    
    <li>
        <p>""<b>复制链接</b>""可创建文件的直接链接,可在电子邮件或即时消息中共享该链接。</p>
    </li>
    <li>
        <p><b >Outlook</b> 会打开 Outlook 应用,并将文件附加到新的电子邮件。</p>
    </li>
</ul>

</span></body></html>"

$user_to="liu1@x.com"
Sendmail $user_to $mail_subject $mail_body

 

 

 

 

$smtp.UseDefaultCredentials = $false 要放在SmtpClient.Credentials之前

 If the UseDefaultCredentials property is set to false, then the value set in the Credentials property will be used for the credentials when connecting to the server. If the UseDefaultCredentials property is set to false and the Credentials property has not been set, then mail is sent to the server anonymously.

posted on 2017-02-21 17:43  momingliu11  阅读(2182)  评论(1编辑  收藏  举报