powershell 发送邮件
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 发送邮件相关推荐
- Python Module_subprocess_调用 Powershell
目录 目录 前言 Powershell call Python Python call Powershell Powershell发送邮件 最后 前言 使用Python内建的subprocess模块, ...
- Windows下PowerShell监控Keepalived
一.背景 某数据库服务器为CentOS,想要监控Keepalived的VIP是否有问题,通过邮件进行报警,但这台机器不能上外网,现在只能在Windows下通过PowerShell来完成发邮件预警. 二 ...
- 轮训数据库_使用PowerShell脚本来轮训Exchange数据库的状态
这是来博客园的第一篇文章...当然...我在很多地方贴过这篇文章..如果你在其他地方看过,请不要介意. 常识性的,我会给出这篇文章"真正"的原创作者,博主的博客中有更多和Excha ...
- SQL Server自动化运维系列——监控磁盘剩余空间及SQL Server错误日志(Power Shell)...
原文:SQL Server自动化运维系列--监控磁盘剩余空间及SQL Server错误日志(Power Shell) 需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的 ...
- 使用PowerShell调用MTools分析MongoDB性能并发送邮件
使用PowerShell调用MTools分析MongoDB性能并发送邮件 问题描述: 在MongoDB日常运维中,经常需要查看连接数的趋势图.慢查询.Overflow语句.连接来源. 解决方案: 1. ...
- Powershell 邮件发送
目录 目录 前言 Send-MailMessage NETMail 使用OutLook发送邮件 前言 最近领导想在winServer2012上搞个自动发送邮件的计划任务,下面有几种发送邮件的方式. 如 ...
- Powershell 渗透测试工具-Nishang
Powershell 渗透测试工具-Nishang 分享到: 作者:V1ct0r 稿费:500RMB(不服你也来投稿啊!) 投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿 传送门 ...
- 通过PowerShell管理Office 365组
博客地址:http://blog.csdn.net/FoxDave 本文提供了在PowerShell中执行组的通常管理任务的步骤,同时也列举了组相关的PowerShell命令行. 连接到我们Offic ...
- AD账号密码过期邮件提醒-powershell实现--密码加密(新增)
加密部分参考:http://www.bubuko.com/infodetail-1846894.html 首先将在某台主机上上建立一个share folder,设置权限为Everyone读取,里面将存 ...
最新文章
- 微信jssdk 图片上传 JAVA_微信jssdk图片上传
- e4a html文本,E4A 怎么将剪贴版中的文本 粘贴到窗口的光标处啊?求个代码
- XCode5添加新建类模板(Cocos2dx Template Class for Scene or Layer)
- golang 用range 创建指针数组
- eclipse中简便的aptana安装方法
- Java并发编程:4种线程池和缓冲队列BlockingQueue
- Linux Bash脚本练习2
- 分享400个微信小程序模板和小程序设计模板
- pr、ps、ae-安装
- 竖版1:2500万标准中国地图
- tkmybatis 枚举值处理
- word之无法插入公式,公式图标灰色
- 中国人保为闲人谷中药科技承保产品责任险,为消费者保驾护航!
- [机器学习入门] 李宏毅机器学习笔记-21(Transfer Learning part 1 ; 迁移学习 part 1)
- Linux字体颜色的意思
- 小区市话配套和宽带接入系统研究报告
- 测试wince wifi漫游的方法(参考)
- 2光16电全千兆二层管理型宽温工业级环网交换机 光纤自愈环网工业级以太网交换机
- 什么是胃肠神经官能症,会有哪些症状出现呢?
- oracle如果查询出的值为null记为0
热门文章
- 黄聪:清理微信浏览网站的缓存,Cookie
- 用python做飞机大战打到不同部位扣分不同_python制作飞机大战需要哪些python术语...
- z77用m2固态_Z77也能用M.2固态
- 几种常见的Shell:sh、bash、csh、tcsh、ash
- /etc/shells 777权限,vsftp本地用户不能登陆
- 【数据结构】实现:合并两个升序的单链表,合并之后的链表后依旧有序
- 【UML建模】(3) UML建模之类图
- android智能电视使用方法,安卓系统智能电视使用方法
- mysql不停機添加節點_MySQL 5.7主从不停机添加新从库
- Oracle的用户密码忘了 Oracle用SQL Plus创建数据库表空间