01 前言

最近在搞搞服务器,用的是Windows系统,配合脚本应该有的玩玩,比如间隔多久查一些东西发到指定邮箱,嘿嘿。下面做简单记录。

02 正文

代码贴上

<## 邮件发送# 使用smtp协议# 默认为正文为html格式# by hokis# 2019-03-27
#>function Send-Email-BySMTP
{[CmdletBinding()]param([string]$userName, #用户名[string]$password, #密码[string]$hostName, #smtp服务器[string]$sendName,#发件人  有些邮箱可以设置与用户名不一致,如果省略的话,默认与用户名一致[string[]]$mailTo, #接收人[string[]]$ccTo, #抄送人[string]$subject, #主题[string]$content, #内容[string[]]$attachments #附件)if([string]::IsNullOrEmpty($sendName)){$sendName = $userName}$message = New-Object System.Net.Mail.MailMessageif($mailTo){$mailTo | %{$message.To.Add($_)}}if($ccTo){$ccTo | %{$message.CC.Add($_)}}$message.From =  New-Object System.Net.Mail.MailAddress($sendName)$message.Subject = $subject$message.Body = $content$message.BodyEncoding = [System.Text.Encoding]::UTF8  #正文编码$message.SubjectEncoding = [System.Text.Encoding]::UTF8 #主题编码$message.Priority = [System.Net.Mail.MailPriority]::High #优先级$message.IsBodyHtml = $truetry{if($attachments){$attachments | %{$message.Attachments.Add((New-Object System.Net.Mail.Attachment($_)))}}}catch{Write-Verbose ("添加附件异常:" + $Error[0].Exception.Message)}$smtpClient = New-Object System.Net.Mail.SmtpClient($hostName)$smtpClient.UseDefaultCredentials = $trueif($hostName.EndsWith("qq.com")){ #qq邮箱特别设置$smtpClient.UseDefaultCredentials = $false}$smtpClient.Port = 25 #端口$smtpClient.DeliveryMethod = [System.Net.Mail.SmtpDeliveryMethod]::Network#指定用户名和密码$smtpClient.Credentials = New-Object System.Net.NetworkCredential($userName,$password)$smtpClient.EnableSsl = $truetry{$smtpClient.Send($message)return $true}catch{Write-Verbose ("发送异常:" + $Error[0].Exception.Message)}return $false}$res = Send-Email-BySMTP -userName "XXXX@163.com" -password "XXXX" -hostName "smtp.163.com" -mailTo "XXXXX@qq.com" -subject "约吗" -content "亲爱的,今晚约吗,我看好了一家好吃的!" -Verbose
if($res){Write-Host "邮件发送成功!"
}else{Write-Host "邮件发送失败!"
}

使用方法不多说了,有疑问的朋友可以参考之前写的powershell系列。

03 后记

其它邮箱的设置请参考相应官网的帮助说明,如果脚本用不了的话。
参考资料:
C#发送邮件类

powershell 发送邮件相关推荐

  1. Python Module_subprocess_调用 Powershell

    目录 目录 前言 Powershell call Python Python call Powershell Powershell发送邮件 最后 前言 使用Python内建的subprocess模块, ...

  2. Windows下PowerShell监控Keepalived

    一.背景 某数据库服务器为CentOS,想要监控Keepalived的VIP是否有问题,通过邮件进行报警,但这台机器不能上外网,现在只能在Windows下通过PowerShell来完成发邮件预警. 二 ...

  3. 轮训数据库_使用PowerShell脚本来轮训Exchange数据库的状态

    这是来博客园的第一篇文章...当然...我在很多地方贴过这篇文章..如果你在其他地方看过,请不要介意. 常识性的,我会给出这篇文章"真正"的原创作者,博主的博客中有更多和Excha ...

  4. SQL Server自动化运维系列——监控磁盘剩余空间及SQL Server错误日志(Power Shell)...

    原文:SQL Server自动化运维系列--监控磁盘剩余空间及SQL Server错误日志(Power Shell) 需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的 ...

  5. 使用PowerShell调用MTools分析MongoDB性能并发送邮件

    使用PowerShell调用MTools分析MongoDB性能并发送邮件 问题描述: 在MongoDB日常运维中,经常需要查看连接数的趋势图.慢查询.Overflow语句.连接来源. 解决方案: 1. ...

  6. Powershell 邮件发送

    目录 目录 前言 Send-MailMessage NETMail 使用OutLook发送邮件 前言 最近领导想在winServer2012上搞个自动发送邮件的计划任务,下面有几种发送邮件的方式. 如 ...

  7. Powershell 渗透测试工具-Nishang

    Powershell 渗透测试工具-Nishang 分享到: 作者:V1ct0r 稿费:500RMB(不服你也来投稿啊!) 投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿 传送门 ...

  8. 通过PowerShell管理Office 365组

    博客地址:http://blog.csdn.net/FoxDave 本文提供了在PowerShell中执行组的通常管理任务的步骤,同时也列举了组相关的PowerShell命令行. 连接到我们Offic ...

  9. AD账号密码过期邮件提醒-powershell实现--密码加密(新增)

    加密部分参考:http://www.bubuko.com/infodetail-1846894.html 首先将在某台主机上上建立一个share folder,设置权限为Everyone读取,里面将存 ...

最新文章

  1. 微信jssdk 图片上传 JAVA_微信jssdk图片上传
  2. e4a html文本,E4A 怎么将剪贴版中的文本 粘贴到窗口的光标处啊?求个代码
  3. XCode5添加新建类模板(Cocos2dx Template Class for Scene or Layer)
  4. golang 用range 创建指针数组
  5. eclipse中简便的aptana安装方法
  6. Java并发编程:4种线程池和缓冲队列BlockingQueue
  7. Linux Bash脚本练习2
  8. 分享400个微信小程序模板和小程序设计模板
  9. pr、ps、ae-安装
  10. 竖版1:2500万标准中国地图
  11. tkmybatis 枚举值处理
  12. word之无法插入公式,公式图标灰色
  13. 中国人保为闲人谷中药科技承保产品责任险,为消费者保驾护航!
  14. [机器学习入门] 李宏毅机器学习笔记-21(Transfer Learning part 1 ; 迁移学习 part 1)
  15. Linux字体颜色的意思
  16. 小区市话配套和宽带接入系统研究报告
  17. 测试wince wifi漫游的方法(参考)
  18. 2光16电全千兆二层管理型宽温工业级环网交换机 光纤自愈环网工业级以太网交换机
  19. 什么是胃肠神经官能症,会有哪些症状出现呢?
  20. oracle如果查询出的值为null记为0

热门文章

  1. 黄聪:清理微信浏览网站的缓存,Cookie
  2. 用python做飞机大战打到不同部位扣分不同_python制作飞机大战需要哪些python术语...
  3. z77用m2固态_Z77也能用M.2固态
  4. 几种常见的Shell:sh、bash、csh、tcsh、ash
  5. /etc/shells 777权限,vsftp本地用户不能登陆
  6. 【数据结构】实现:合并两个升序的单链表,合并之后的链表后依旧有序
  7. 【UML建模】(3) UML建模之类图
  8. android智能电视使用方法,安卓系统智能电视使用方法
  9. mysql不停機添加節點_MySQL 5.7主从不停机添加新从库
  10. Oracle的用户密码忘了 Oracle用SQL Plus创建数据库表空间