Powershell 邮件发送
目录
- 目录
- 前言
- Send-MailMessage
- NETMail
- 使用OutLook发送邮件
前言
最近领导想在winServer2012上搞个自动发送邮件的计划任务,下面有几种发送邮件的方式。
如果Powershell V2.0 以上建议使用第一种方式(比较无脑),2.0以下的话也可以使用第二种方法。
Send-MailMessage
Syntax:
Send-MailMessage -To $to -From $from -cc $cc -Subject $sub -Body $body -Credential $mycreds -SmtpServer $smtp -DeliveryNotificationOption Never -BodyAsHtml -UseSsl -port 587 -Attachments $attach
Example:
#Create the secure passward
Function Set-SecurePwd($storage)
{$mysecret = 'YOURPASSWORD'$mysecret | ConvertTo-SecureString -AsPlainText -Force | #将加密的标准字符串转换为安全字符串。它还可以将纯文本转换为安全字符串。ConvertFrom-SecureString | #将安全字符串转换为加密的标准字符串。Out-File -FilePath $storage #将加密的标准字符输出到指定文件$pw = Get-Content $storage | ConvertTo-SecureString #获取经过加密的标准字符并转换为安全字符串return $pw
}Function Send-Email($attach)
{$pwd = Set-SecurePwd $storage$cred = New-Object System.Management.Automation.PSCredential "userName",$pwd #创建身份认证对象$to = "xxx@xxx.com"$from = "xxx@163.com"$cc = "xxx@xxx.com"$sub = "TEST"$body = "Just test"$smtp = "smtp.163.com"Send-MailMessage -To $to -From $from -cc $cc -Subject $sub -Body $body -Credential $cred -SmtpServer $smtp -UseSsl -port 25 -Attachments $attach if($?){Write-Host "Sent Successfully!" -ForegroundColor Green}else{Write-Host "Error" -ForegroundColor Red}
}#Main$storage = "E:\pwd\password.txt"
$attach = "E:\attach\test.txt"Send-Email $attach #指定需要发送的附件
注意:$from
的Address必须能够与$cred
身份认证对象一致,这个例子使用了163邮件的SMTP Server 。
.NET.Mail
还可以使用.NET支持的实例来实现邮件发送,上面的Cmdlet也是调用了这一实例。
Function send-mail
{ param( [string]$toAddress = $(throw "toAddress must be set") ,[string]$Subject = $(throw "subject must be set") ,[string]$body = "" ,[string]$file = "")
#mail server configuration $smtpServer = "SMTPSERVERADDRESS" $smtpUser = "smtpUserName" $smtpPassword = "smtpUserPwd" $sslNeed =$true
#SMTP server needs SSL should set this attribute $MailAddress ="xxx@163.com" $fromName = "mailAccountName" $replyTo = "xxx@163.com"
#create the mail message $mail = New-Object System.Net.Mail.MailMessage
#set the addresses $mail.From = New-Object System.Net.Mail.MailAddress($MailAddress,$fromName) $mail.To.Add($toAddress)
#set the content $mail.Subject = $Subject $mail.Priority = "High" $mail.Body = $Body $filename= $file $attachment = new-Object System.Net.Mail.Attachment($filename) $mail.Attachments.Add($attachment)
#send the message $smtp = New-Object System.Net.Mail.SmtpClient -argumentList $smtpServer $smtp.Credentials = New-Object System.Net.NetworkCredential -argumentList $smtpUser,$smtpPassword $smtp.EnableSsl = $sslNeed; try{ $smtp.Send($mail) echo 'Ok,Send succed!' } catch { echo 'Error!Filed!' }
}
Send-Mail "xxx@xxx.com" "TEST" "Just test" "E:\attach\hd.txt"
使用OutLook发送邮件
这是调用了本地的MAPI Client程序,不能自动发送,只是填充了邮件信息,需要手动点击发送。例子来自——Powershell中文博客
$subject = 'Sending via MAPI client'
$body = 'My Message'
$to = 'tobias@powertheshell.com'$mail = "mailto:$to&subject=$subject&body=$body"Start-Process -FilePath $mail
:)
Powershell 邮件发送相关推荐
- 邮件发送类,支持HTML格式,支持优先级设置
www.chinacs.net 2002-5-9 中文C#技术站 邮件发送类,支持HTML格式,支持优先级设置.通过SOCKET类实现的 using System; using System.Te ...
- 使用Spring实现邮件发送
2019独角兽企业重金招聘Python工程师标准>>> 这两天写个小程序需要使用邮件发送的功能,在网上搜索了一帮子文章,感觉还是使用Spring的邮件发送功能比较方便,哈哈,懒人就这 ...
- python邮件发送哪个好_最全总结!聊聊 Python 发送邮件的几种方式
1. 前言 邮件,作为最正式规范的沟通方式,在日常办公过程中经常被用到 我们都知道 Python内置了对 SMTP 的支持,可以发送纯文本.富文本.HTML 等格式的邮件 本文将聊聊利用 Python ...
- CentOS搭建msmtp+mutt实现邮件发送
1:搭建配置msmtp 下载msmtp包: 官方地址:http://msmtp.sourceforge.net/download.html 编译,安装(官方下载的包为tar.xz格式): #xz -d ...
- 利用phpmailer类邮件发送
<?phprequire("class.phpmailer.php"); //下载的文件必须放在该文件所在目录$mail = new PHPMailer(); //建立邮件发 ...
- python 数据库查询结果邮件提醒_Python实现的查询mysql数据库并通过邮件发送信息功能...
本文实例讲述了Python实现的查询mysql数据库并通过邮件发送信息功能.分享给大家供大家参考,具体如下: 这里使用Python查询mysql数据库,并通过邮件发送宕机信息. Python代码如下: ...
- JavaMail邮件发送不成功的那些坑人情况及分析说明
前言 JavaMail的使用本身并不难,网上有不少案例,简单易懂,而且有详细的中文注解.但是由于JavaMail的机制设置不够完善,特别是异常出错时的参考信息太少,给初学者造成了不少麻烦,而我就是 ...
- 邮件发送 --- 纯Java、JavaWeb、Spring三种实现方式
邮件发送学习笔记~ 一.邮件发送介绍 要在网络上实现邮件功能,必须要有专门的邮件服务器! 这些邮件服务器类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中! ...
- 使用UTL_MAIL包实现存储过程邮件发送(转)
邮件通知预警和提示在当前系统中已经是一个比较常见的功能.各类型语言分别针对邮件提供了功能包和API接口方法,本篇介绍如何在PL/SQL代码中使用UTL_MAIL工具包发送邮件,同时还介绍配置中注意的细 ...
最新文章
- 第十五届全国大学生智能汽车竞赛各分赛区成绩汇总
- iOS开发之使用XMPPFramework实现即时通信(二)
- 一起再看执行上下文/作用域链/原型链
- javafx css样式_使用CSS设置JavaFX饼图样式
- 电脑c语言怎么调出来的,c语言系统源代码_C语言判断系统版本的代码怎样将值调出来啊...
- 脑洞大开!拿Transformer和CNN比较!犯错都像人类
- Storm与Spark区别
- 单机到集群的WEB架构演变
- 【水果识别】基于matlab GUI苹果质量检测及分级系统(带面板)【含Matlab源码 1613期】
- 荔枝软件如何测试声音,荔枝如何测自己的声音 荔枝测自己的声音方法
- mac无线连接打印机进行打印和扫描
- 马蹄疾 | 2019年,是时候认真学一波 Grid 布局了
- 什么是“冲激响应”?这样讲你该理解了!
- 团队管理5 | 管理风格
- HC-05蓝牙AT指令无反应问题
- linux下防止rm-rf /处理
- 将element-plus分页组件由默认英文,改为中文
- 所示零件是减速器中的传动轴
- 富士最快计算机,史上对焦最快卡片DC 富士F305EXR评测
- OSE RTOS中APP进程接收消息机制
热门文章
- 编译-C++支持iOS静态库的脚本学习
- (017)java后台开发之客户端通过HTTP获取接口Json数据
- 神盾局hive是什么_《神盾局特工》第七季再爆幕后照,这位角色复古装又美出新高度...
- python转cython_用Cython加速Python到“起飞”(推荐)
- 由浅入深解读Redis高级能力及性能调优
- 用最简单的例子说明设计模式(一)之单例模式、工厂模式、装饰模式、外观模式...
- jsPlumb.jsAPI阅读笔记(官方文档翻译)
- navigation的pushViewController卡顿问题
- 如何选择就业方向(80后的个人经验,转载)
- JavaScript OOP(2)定义JavaScript类