powershell 发送邮件

powershell 发邮件 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.MailMessage
    if($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 = $true
    try{
        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 = $true
    if($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 = $true

    try{
        $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 实现email发送消息 通过Windows powershell脚本实现邮件发送。 阅读详情

相关推荐

32、PowerShell 实现邮件发送的全面指南

本文详细介绍了如何使用 PowerShell 实现功能丰富的邮件发送功能。从基本的邮件发送脚本开始,逐步构建可重用脚本,支持多收件人配置、消息头设置、多部分邮件(包括 HTML 和纯文本视图)、文件附件发送等功能。此外,还涵盖安全注意事项、性能优化、错误处理机制以及实际应用场景,帮助用户全面掌握 PowerShell 邮件自动化发送技术。

ipfs8storage的博客 255

Powershell 发送邮件

Powershell

weixin_43529968的博客 1029

powershell实现域用户密码到期邮件提醒功能

说明:服务器为windows server 2012 r2 std 中文版 此服务器只是DC,无其它功能。powershell实现域用户密码到期邮件提醒功能

用Powershell发邮件的两种方法

Powershell支持发邮件,目前我找到两种方法,第一种方法是通过自带的Send-EmailMessage,但这个方法好像难以处理自动输入凭据的问题;第二个方法是通过.Net提供的接口,可以实现自动发邮件。 方法一:使用Send-EmailMessage功能 以下节选的Send-EmailMessage帮助信息(通过Get-Help Send-EmailMessage -Detail

ViviaChen的专栏 1万+

PoshEmail:一个用于发送响应HTML电子邮件并将命令脚本与电子邮件包装在一起的PowerShell模块

PoshEmail PoshEmail是一个PowerShell模块,旨在提供有用的电子邮件任务,包括以下内容: 通过Send-HtmlMailMessage轻松发送响应HTML电子邮件 包装命令和脚本以通过Invoke-CommandWithEmailWrapper启动/结束时提供电子邮件警报 入门 PoshEmail与Windows上的Windows PowerShell 5.1+和PowerShell Core 6.0+兼容。 Linux / macOS支持目前正在开发中。 先决条件 除了安装PowerShell外,不需要任何先决条件。 正在安装 PoshEmail在的PowerShell库中列出,这意味着您可以通过运行以下命令在运行PowerShell 5+的任何连接互联网的计算机上进行安装: Install-Module - Name PoshEmail 如果您希望手动安

DIY T12烙铁头驱动难题:用几个电容二极管,搞定NMOS上管驱动(附Multisim仿真)

本文详细介绍了如何利用电荷泵电路解决DIY T12烙铁头驱动中的NMOS上管驱动难题。通过巧妙组合电容和二极管,构建低成本高效的升压电路,实现栅极高压驱动需求。文章包含具体电路设计、元件选型建议、实际搭建注意事项以及Multisim仿真验证,为电子爱好者提供了一套完整的解决方案。

weixin_33640562的博客 334

powershell实现发送邮件方法

task运行方法:#send mail# 获取当前日期# 提取月份$cnt=0$files) {} else {$cnt++#-UseSsl。

程序开发相关专栏 952

从拆解到调试:用CS5523改造旧款车载显示屏的完整记录(MIPI转eDP方案)

本文详细记录了使用CS5523芯片将旧款车载显示屏从MIPI接口改造为eDP驱动的完整过程。通过对比LT8911等芯片,选择CS5523实现低功耗、高兼容性的显示升级,涵盖硬件改造、固件配置及调试技巧,最终成功提升显示效果200%。

web99的专栏 344

powershell 通过SMTP发送邮件

一直以来就用.net的方式发送邮件,因为powershell自带的方式用起来容易出错,且比较简单,最近看到一些人也反应使用中遇到麻烦。 #定义函数 function sendmail($mailaddr,$body){ $msg=New-Object System.Net.Mail.MailMessage $msg.To.Add($mailaddr) $msg.From = New-Object

shrekz的专栏 8883

Android14到Android16源码移植中的Bluetooth模块规范适配指南

本文详细解析了从Android14到Android16源码移植过程中Bluetooth模块的规范适配挑战,重点介绍了Android.bp配置差异及常见编译报错解决方案。针对代码规范检查、final字段声明、静态方法优化等核心问题提供实用修复方法,帮助开发者高效完成版本升级适配工作。

fire9的博客 254

Android 13.0 SystemUI下拉状态栏背景增加高斯模糊背景

在13.0的产品开发中,发现现在很多产品都是高斯模糊背景的,这种高斯模糊背景看起来效果很不错,产品开发需要SystemUI下拉状态栏背景也是高斯模糊背景,所以就要来实现下拉状态栏高斯模糊背景

安卓兼职framework和app工程师的博客 2670

Powershell 邮件发送

使用 UseSsl  仍有问题。 function SendMailByPowerShell() { param( $To=$null, $Cc=$null, $Bcc=$null, $Subject=$null, $Body=$null, $Attachments=$null ) $From = "username" $FromPwd = ...

1983

UNet改进(3):Local Attention增强的UNet网络-医学图像分割

本文提出一种改进的UNet网络,通过引入局部注意力机制增强医学图像分割性能。该方法在传统UNet编码器-解码器结构中,创新性地整合了通道注意力和空间注意力模块,使网络能自适应聚焦关键区域。注意力机制通过特征重标定增强有用信息并抑制噪声,显著提升了小目标分割和边缘检测的精度,同时保持较低计算开销。实验表明,该方法在肿瘤分割等任务中具有更好表现,为医学图像处理提供了新的优化思路。

2501_91516851的博客 2063

从Windows PowerShell发送电子邮件

掌握SMTP详细信息后,打开Windows PowerShell并一步一步执行以下命令。您需要更改橙子突出显示的值以及根据您的设置的适当值。 $EmailFrom = “from-email@example.com” $EmailTo = “to-email@example.org” $Subject = “Email Subject Here” $Body = “This is mail ...

allway2的博客 1905

R语言导入.dta文件实战

R语言导入.dta文件实战 #导入.dta文件的基本语法 R的导入.dta文件最简单方法是使用haven库中的read_dta()函数。 此函数使用以下基本语法: data <- read_dta('C:/you-path/file_name.dta') #包的安装和导入 install.packages('haven') library(haven) #下载.dta数据文件 我们将从该页面下载名为cola.dta的.dta文件。 #导入.dta文件 ..

data+scenario+science+insight 1万+

AutoSAR实验视频讲解:相关资料下载

AutoSAR实验视频讲解:闪烁一颗LED实验【相关资料下载】 总目录 为了方便大家自己的实验顺利进行,这里我们准备了一些实验中可能用到的资料供大家使用 介绍 这里主要是三个文件: MyApp_Core.0是我们的用户代码,在工程集成那集将会讲解 McalConfig.arxml就是我们的Mcal导出文件,用于导入到DaVinci中生成代码 CAN.dbc文件是我们的通信矩阵文件 以上几个文件都是简单的配置,不具有实际项目的实用性,大家仅供参考 // 顺便吐槽一句:百度网盘的吃相真的难看 下载连接

雪云飞星的博客 6668

使用PowerShell发送邮件

本文以163邮箱为例,介绍使用PowerShell发送邮件的方式,以下为脚本内容。# 恢复Powershell的默认执行策略,默认不允许执行任何脚本# Set-executionpolicy default -force#设置Powershell的执行策略为,可以执行任何脚本# Set-ExecutionPolicy Unrestricted -force#定义一个...

weixin_34112900的博客 769

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

从Powershell发送样式化HTML电子邮件(在Powershell中使用.NET DLL)

介绍 (Introduction) I have written a small mail sending function in .NET that I leverage in all my systems I develop. I had to develop a bunch of Powershell scripts to monitor and report on various pro...

cunchi8090的博客 1516

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Powershell发送电子邮件

Powershell发送电子邮件的模板

Han的小站 1635

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

PowerShell SMTP集成:企业级邮件发送服务全攻略

你是否仍在为以下SMTP邮件发送问题困扰? - 传统`Send-MailMessage`命令过时警告与兼容性问题 - 缺乏TLS/SSL加密导致的安全漏洞 - 复杂附件处理与中文乱码 - 批量邮件发送效率低下 - 错误处理机制不完善 本文将提供完整解决方案,包括: - 两种实现方案(传统命令与现代类库)的对比与迁移指南 - 企业级安全配置(SMTP认证、加密传输) - 高级功能实现(HTML邮件...

gitblog_00748的博客 1179
上一篇: Spring Boot 2.1.2整合JSP配置及打包WAR独立运行——IDEA篇
下一篇: powershell 批量转换文本文件编码(GBK转UTF-8,支持多种不同编码的源文件)
HoKis
博客等级 码龄11年 75粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值