昨天写了一个自动打包后,提交svn的的,后来觉得,每次提交之后,还要发一封邮件通知大家,觉得很麻烦,于是想到ant 的email发送功能
这里就介绍一下吧
使用email功能,需要将 activation.jar和mail.jar 放入ant\lib中
然后在properties中定义好
email.host=smtp.XXX.com ##Email port 默认不需要设置 (可以不要) email.port=25 ##Email subject 这里不要写中文,如果写中文,需要使用jdk自带的native2ascii 工具转码 email.subject= XXX已发布 ##Email from 显示邮件从哪发送过来 [email protected] ##Email to 这里可以写多个,中间用逗号隔开 [email protected],[email protected] ...
<mail mailhost="${email.host}" mailport="${email.port}" subject="${email.subject}" from="${email.from}" tolist="${email.to}" encoding="mime" messagemimetype="text/html" > <!-- 接收邮件地址也可以按照下面方式写,但是一次只能写一个地址,不过可以写多个 <to-address="[email protected]"/> <to-address="..."/> --> <message>Your message here</message> <!-- 这里可以不用写死message ,可以从文件中取内容 使用messagefile messagefile="./src/test/ant/message_content.txt" --> <!-- 这里可以放附件,不需要不用填写,可以使用相对路径,也可以使用绝对路径,同时支持通配符 <attachments> <fileset dir="."> <include name="1.xls"/> ... 可以放多个 </fileset> </attachments> --> </mail>
对于常见属性的说明:
1、 mailhost mail 服务器的地址
2、 mailport mail服务器的端口
3、 replyto 回复mail地址
4、 tolist 收件地址列表 可用子标签替代
5、 cclist 抄送地址列表 可用子标签替代
6、 bcclist 暗送地址列表 可用子标签替代
7、 message 邮件内容 一个或多个<message>子标签替代
8、messagefile 文件列表文件内容将被做为邮件内容, 一个或多个<message>子标签替代
9、messagemimetype 邮件类型, 默认为text/plain
filset 附件列表 多个附件逗号或空格隔开 用<fileset> 子标签替代
10、
11、user 发送邮箱的用户名
12、password 发送邮箱的密码
13、 subject 邮件标题
14、 charset 字符集
15、 encode 编码
16、 ssl 是否使用 TLS/SSL
mail 标签的子标签
(1)to / cc / bcc / from/ replyto
属性
name 显示名称
address 邮件地址列表
(2)message 内容为标记邮件内容
属性
src 作为文件内容的文件列表
mime mime 类型
charset 字符集
(3)fileset
属性 dir 目录 可以设置绝对路径,也可以是相对路径
子标签 include 属性 name 指定要包含的文件支持通配符
存在问题:
1. 附件如果为中文名字,则显示乱码,但打开是正常的