技术文章 > windows > 命令行发邮件小工具blat 

Windows下命令行发邮件小工具blat

一、简介

  Blat 是一个windows下命令行方式发送邮件的小工具,包含32位、64位两个版本。
  Blat 支持使用简单邮件传输协议(SMTP)发送电子邮件(EMail),或使用网络新闻传输协议(NNTP)发送到新闻组(USENET)。
  Blat 是客户端工具,使用时需要相应的SMTP、NNTP服务器的支持。
  Blat 官网:http://www.blat.net/
  下载地址:https://sourceforge.net/projects/blat/files/

二、示例

  1、解压blat3224_64.full.zip到D:\blat3224_64.full目录,可以看到blat3224目录,下有docs、full两个子目录。docs下为说明文件,full下为blat.exe可执行文件及相关库文件;
  2、在full下新建email.html,内容如:

您好!
  这是一个Blat测试邮件,用于测试命令行邮件发送小工具blat.exe的实际使用效果。
  谢谢!
  3、在full下新建sendEmail.bat批处理脚本,如下:

 @echo off
 rem Blat -install smtp.qq.com myqq@qq.com
 rem :::::::::::::: 参数设置::::::::::::::
 set from=myqq@qq.com
 set user=myqq@qq.com
 set pass=myqqemailpassword
 set to=otherqq@qq.com
 set subj=Blat命令行发送的邮件
 set mail=email.html
 set server=smtp.qq.com
 set debug=-debug -log blat.log -timestamp
 rem ::::::::::::::::: 运行blat :::::::::::::::::
 blat.exe %mail% -to %to% -charset Gb2312 -subject %subj% -charset Gb2312 -server %server% -f %from% -u %user% -pw %pass% %debug%
		 
  上述代码使用QQ邮箱服务器和账号发、收邮件,myqq@qq.com为发件人邮箱地址,myqqemailpassword为SMTP服务器需要的客户端发送邮件密码,otherqq@qq.com收件人邮箱地址,smtp.qq.com为QQ邮箱SMTP服务器。
  邮件内容存放于同一目录下的email.html,如:"您好!这是一个Blat测试邮件,用于测试命令行邮件发送小工具blat.exe的实际使用效果。谢谢!"
  打开命令执行窗,进入D:\blat3224_64.full\full目录,执行sendEmail.bat,邮件发出。

 d:
 cd \blat3224_64.full\full
 sendEmail.bat
		 
稍后去收件箱可查看发来的邮件。

三、乱码问题

  初次使用QQ邮箱实测时,发送收到的邮件标题、内容出现乱码,在命令行中使用 utf-8 编码试图解决无效,改为命令行使用 gb2312 编码,且 sendEmail.bat、email.html 两个文件内容都以 gb2312 编码保存,收到的邮件显示正常。

四、根据需要改变邮件标题和内容

  若想不保存固定的邮件标题、内容,直接在命令行填写,比如在其他开发的项目中需根据内容自动生成命令行,此时 blat.exe %mail% -subject %subj% 改为:
blat.exe -subject 邮件标题 -body 邮件内容文字
  windows应用程序需发送邮件时,应用程序调用该工具,可根据应用数据改变邮件标题和内容,省去自己编写发送邮件的这部分工作。同时由于blat不依赖于第三方库或系统内部dll,可有效避免因系统组件安装不全可能产生的各种问题。


来源:本站 行痴 亲测、原创,2023-08-21