官网 & 下载
官网:happy mailing : Blat online
64位版蓝奏云:blat3224_64.full.zip - 蓝奏云
32位版蓝奏云:blat3224_w98.full.zip - 蓝奏云
blat的核心是blat.exe、blat.dll、blat.lib三个文件,其他的可以不要。
官方分为32位版和64位版,常规cmd窗口是32位的,位于C:\WINDOWS\system32
64位cmd位于C:\WINDOWS\SysWOW64,在32位cmd中运行64位blat时,窗口会出现中文乱码。
--------------------------------------------------------------------------------
发邮件示例
注意邮件标题如果是中文的,可能会出现乱码,可更换邮件命令。
示例1:邮件正文内容在txt文件中
blat C:\blat\body.txt -to 456456456@qq.com -u 123123123@qq.com -pw 123456 -sf C:\1.txt -attach C:\blat\attach.txt -charset gbkCOPY
其中 -sf C:\1.txt 是邮件标题的txt文本,文本编码方式必须为ANSI,否则也是乱码。
示例2:直接发送邮件内容
blat -body "正文内容" -to 456456456@qq.com -u 123123123@qq.com -pw 123456 -sf C:\1.txt -attach C:\blat\attach.txt -charset gbkCOPY
邮件正文内容有中文会乱码,需要在末尾加上-charset gbk
示例3:邮件标题内容在命令中
blat -body "正文内容" -to 456456456@qq.com -u 123123123@qq.com -pw 123456 -subject "标题内容" -attach C:\blat\attach.txt -charset gbkCOPY
当邮件内容在命令行中,m邮件标题必须用""括起来,否则标题乱码
发件之前,需要先安装发件服务器
@echo off | |
rem 安装邮件服务器 | |
blat -install smtp.qq.com 123123123@qq.com | |
rem 发送邮件 | |
blat C:\blat\body.txt -to 456456456@qq.com -u 123123123@qq.com -pw 123456 -subject "我爱你" -attach C:\blat\attach.txt -charset gbk | |
pauseCOPY |
- 123123123@qq.com ——发送邮箱;多个账号用逗号分隔
- 456456456@qq.com ——接收邮箱;
- -pw 123456 ——发送邮箱密码,可用base64编码,还没试过;
- -subject "我爱你" ——邮件标题(必须用引号括起来,否则标题乱码);也可以使用这个参数-sf C:\1.txt ,文件中存放标题,文本编码为ANSI
- -attach C:\blat\attach.txt ——附件,把内容保存到attach文档内;
- C:\blat\body.txt ——邮件正文,用body.txt保存在程序下。注意正文的txt文件编码为ANSI,否则乱码。
- smtp.qq.com ——邮箱服务地址。
- -charset gbk ——文件正文中有中文内容乱码时,在命令末尾加入此参数。
--------------------------------------------------------------------------------
语法
Blat <filename> -to <recipient> [optional switches (see below)] | |
Blat -SaveSettings -f <sender email addy> -server <server addr> | |
[-port <port>] [-try <try>] [-profile <profile>] | |
[-u <login id>] [-pw <password>] | |
or | |
Blat -install <server addr> <sender's addr> [<try>[<port>[<profile>]]] [-q] | |
Blat -profile [-delete | "<default>"] [profile1] [profileN] [-q] | |
Blat -h 帮助信息COPY |
--------------------------------------------------------------------------------
安装
-SaveSettings | |
将常用设置存储到Windows注册表中。采用与-install相同的参数,并且仅用于SMTP设置 | |
-install[SMTP|NNTP|POP3|IMAP] <server addr> <sender email addr> [<try n times> | |
[<port> [<profile> [<username> [<password>]]]]] | |
设置配置文件的服务器、发件人、尝试次数和端口(尝试次数和端口,可能被替换为“-”) | |
端口默认值为SMTP=25、NNTP=119、POP3=110、IMAP=143 | |
默认配置文件可以用“-”指定 | |
用户名和/或密码可以存储在注册表中 | |
选项的顺序是特定的 | |
使用-installNNTP存储NNTP信息 | |
| |
使用-installPOP3存储POP3信息(忽略sender和try,请用“-”代替它们) | |
使用-installIMAP存储IMAP信息(忽略sender和try,请用“-”代替它们) | |
[] 可选参数 | |
<> 必须参数COPY |
<server addr> 发邮件的服务器
<sender email addr> 发件人邮箱账号
<try n times> 尝试次数
<port> 端口
<profile> 配置文件
<username> 用户名
<password> 用户密码
--------------------------------------------------------------------------------
基本要素
<filename> : 带有要发送的消息正文的文件(如果消息正文在命令行上),请使用连字符(-)作为第一个参数,-body后面跟着消息(如果消息来自控制台/键盘),请将连字符作为第一个参数,但不要使用-body选项。 | |
-of <file> : 包含更多选项的文本文件(也称-optionfile) | |
-to <recipient> : 收件人列表(也是-t)(逗号分隔) | |
-tf <file> : 收件人列表文件名 | |
-cc <recipient> : 抄送收件人列表(也是-c)(逗号分隔) | |
-cf <file> : 抄送收件人列表文件名 | |
-bcc <recipient>: 盲复写收件人列表(也是-b)(逗号分隔) | |
-bf <file> : bcc收件人列表文件名 | |
-maxNames <x> : 发送到<x>个收件人的组 | |
-ur : 如果未使用-To和-cc选项,请将To:header设置为Undisclosed Recipients | |
-subject <subj> : 主题行,用引号括起来以包含空格(也是-s) | |
-ss : 如果未定义,则抑制主题行 | |
-sf <file> : 包含主题行的文件 | |
-bodyF <file> : 包含消息正文的文件 | |
-body <text> : 消息正文,用引号(“)括起来以包含空格 | |
-sig <file> : 包含您的电子邮件签名的文本文件 | |
-tag <file> : 包含标语的文本文件,可随机选择 | |
-ps <file> : 最终消息文本,可能用于取消订阅说明COPY |
--------------------------------------------------------------------------------
注册表覆盖
-p <profile> : 使用<profile>中定义的服务器、用户和端口发送 | |
: 如果在<profile>中没有定义,请使用用户名和密码 | |
-profile : 列出注册表中的所有配置文件 | |
-server <addr> : 指定要使用的SMTP服务器(可选,addr:port) | |
-serverSMTP <addr> | |
: 与-server相同 | |
-serverNNTP <addr> | |
: 指定要使用的NNTP服务器(可选,addr:port) | |
-serverPOP3 <addr> | |
: 指定发送电子邮件前需要POP3访问时要使用的POP3服务器(可选,addr:port) | |
-serverIMAP <addr> | |
: 指定发送电子邮件前需要IMAP访问时要使用的IMAP服务器(可选,addr:port) | |
-f <sender> : 覆盖默认发件人地址(必须为服务器所知) | |
-i <addr> : 一个“发件人:”地址,服务器不一定知道 | |
-port <port> : 要在SMTP服务器上使用的端口,默认为SMTP(25) | |
-portSMTP <port>: 与-port相同 | |
-portNNTP <port>: 要在NNTP服务器上使用的端口,默认为NNTP(119) | |
-portPOP3 <port>: 要在POP3服务器上使用的端口,默认为POP3(110) | |
-portIMAP <port>: 要在IMAP服务器上使用的端口,默认为IMAP(110) | |
-u <username> : AUTH LOGIN(与-pw一起使用)或AUTH GSSAPI与-k一起使用的用户名 | |
-pw <password> : AUTH LOGIN的密码(与-u一起使用) | |
-pu <username> : POP3登录的用户名(与-ppw一起使用) | |
-ppw <password> : POP3登录的密码(与-pu一起使用) | |
-iu <username> : IMAP登录的用户名(与-ppw一起使用) | |
-ipw <password> : IMAP LOGIN的密码(与-pu一起使用) | |
-k 未知的相互身份验证和AUTH GSSAPI | |
-kc UNKNOWN仅客户端身份验证和AUTH GSSAPI | |
-service <name> : 设置GSSAPI服务名称(与-k一起使用),默认“smtp@server“ | |
-level <lev> : 将GSSAPI保护级别设置为<lev>,该级别应为 | |
: 无(none)、完整性(integrity)或隐私(privacy)(默认GSSAPI级别为隐私) | |
-nomd5 : 不要使用CRAM-MD5身份验证。在服务器的CRAM-MD5损坏的情况下使用此选项,例如网络解决方案。COPY |
--------------------------------------------------------------------------------
其他RFC头开关
-organization <organization> | |
: 组织字段(也称为-o和.org) | |
-ua : 包括用户代理头行,而不是X-Mailer | |
-x <X-Header: detail> | |
: 自定义“X-”标头。例如:-x“x-INFO:Blat太棒了!” | |
-noh : 阻止X-Mailer/User-Agent标头显示Blat主页 | |
-noh2 : 完全阻止X-Mailer标头 | |
-d : 请求处置通知 | |
-r : 请求回执 | |
-charset <cs> : 用户定义的字符集(字符编码)。默认值为iso-8859-1 | |
-a1 <header> : 在常规标头的末尾添加自定义标头行 | |
-a2 <header> : 与-a1相同,用于第二个自定义标题行 | |
-msgid <id> : 将此字符串<id>用于消息id:标头值 | |
-dsn <nsfd> : 使用传递状态通知(RFC 3461) | |
n=从不,s=成功,f=失败,d=延迟 | |
可以一起使用,但是N优先 | |
-hdrencb : 如果需要,请使用base64对标头进行编码 | |
-hdrencq : 如有必要,使用带引号的可打印标头进行编码 | |
-priority <pr> : 设置消息优先级,0表示低,1表示高 | |
-sensitivity <s>: 将邮件敏感度设置为 0表示个人,1表示私人,2表示公司机密 | |
-mdn <type> : 将Message Disposition Notification设置为<type>,其中可以显示、调度、处理、删除、拒绝或失败类型。消息将标记为“MDN自动发送”COPY |
--------------------------------------------------------------------------------
附件和编码选项
-attach <file> : 将二进制文件附加到消息(文件名逗号分隔) | |
-attacht <file> : 将文本文件附加到消息(文件名逗号分隔) | |
-attachi <file> : 将文本文件附加为内联(文件名逗号分隔) | |
-embed <file> : 在HTML中嵌入文件。HTML中的对象标记必须使用cid:tag指定内容id。例如:<img src=“cid:image.jpg”> | |
-af <file> : 包含要附加的二进制文件列表的文件(逗号分隔) | |
-atf <file> : 包含要附加的文本文件列表的文件(逗号分隔) | |
-aef <file> : 包含要附加的嵌入文件列表的文件(逗号分隔) | |
-base64 : 使用base64(二进制MIME)发送二进制文件 | |
-uuencode : 发送二进制文件UUEncoded | |
-enriched : 发送富集的文本消息(内容类型=文本/富集) | |
-unicode : 消息正文采用16位或32位unicode格式 | |
-html : 发送html消息(内容类型=text.html) | |
-alttext <text> : 用作替代文本的纯文本 | |
-alttextf <file>: 用作替代文本的纯文本文件 | |
-mime : mime引用的可打印内容传输编码 | |
-8bitmime : 在发送MIME时请求8bit数据支持 | |
-multipart <size> | |
: 发送多部分邮件,打破<size>KB边界上的附件,其中<size>是每1000字节 | |
-nomps : 不允许多部分消息 | |
-contentType <string> | |
: 对于没有注册扩展内容类型的附件,请在ContentType标头中使用<string> | |
例如:-contentype“text/calendarCOPY |
--------------------------------------------------------------------------------
NNTP特定选项
-groups <usenet groups> | |
新闻组列表(逗号分隔)COPY |
--------------------------------------------------------------------------------
其他选项
-xtndxmit : 首次访问POP3时尝试使用POP3进行传输 | |
-h : 显示此帮助(也可以是-?、/?、-help或/help) | |
-q : 抑制所有输出到屏幕 | |
-debug : 将服务器通信回显到日志文件或屏幕 | |
(如果回显到屏幕,则覆盖-q) | |
-log <file> : 将除用法以外的所有内容记录到<file> | |
-timestamp : 当使用-log时,每个日志行都会添加一个时间戳 | |
-overwritelog : 使用-log时,覆盖日志文件 | |
-ti <n> : 将超时设置为“n”秒。Blat将等待服务器响应“n”秒 | |
-try <n times> : blat应该尝试发送多少次(1到“无限”) | |
-binary : 不要在消息正文中将ASCII|(管道,0x7c)转换为CrLf | |
-hostname <hst> : 选择用于通过SMTP发送消息的主机名这通常是您的本地机器名 | |
-raw : 不在标头后添加CR/LF | |
-delay <x> : 当与-maxnames或-multart一起使用时,在发送消息之间等待x秒 | |
-comment <char> : 使用此字符可以标记选项文件和收件人列表文件中注释的开始。默认值为; | |
-superdebug : hex/ascii在Blat和服务器之间转储数据 | |
-superdebugT : ascii在Blat和服务器之间转储数据 | |
-superDuperDebug: 记录更多关于Blat函数调用的调试消息COPY |
--------------------------------------------------------------------------------
注意事项
请注意,如果使用“-i”选项,<sender>将包含在邮件标头的“Reply to:”和“sender:”字段中。
可以选择使用以下选项来代替-f和-i选项:
- -mailfrom<addr>RFC 821 MAIL From:语句
- -from<addr>RFC 822 from:语句
- -replyto<addr>RFC 822 Reply-To:语句
- -returnpath<addr>RFC 822返回路径:语句
- -sender<addr>RFC 822 sender:语句
对于向后一致性,-f和-i选项优先于这些选项
RFC 822定义的选项。如果省略了-f和-i选项,则RFC 821 MAIL FROM语句将默认使用安装定义的默认发件人地址。
乱码问题
①邮件主题乱码
邮件主题乱码出现在-subject参数中,也就是直接在命令行中写入中文主题,主题乱码已经在最新的v3.2.24版本中解决,更新版本即可。
②正文乱码
正文乱码是因为编码问题,可以在命令末尾加上-charset gbk参数或-charset utf-8参数解决,可具体进行测试,更改正文编码。
注意,当正文内容放在文本中时,文本的编码必须为ANSI。
③命令行乱码
在命令提示符窗口内,中文部分显示乱码,但接收邮件主题和邮件正文都正常。
窗口出现乱码是因为运行中输入cmd打开的是32位的cmd窗口,而32位cmd窗口运行64位blat会出现乱码,但在64位cmd中运行64位blat不会出现乱码问题。