昨天写了一个自动打包后,提交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.from=XX@XX.com
##Email to 这里可以写多个,中间用逗号隔开
email.to=A@XX.com,b@XX.com ...
<mail mailhost="${email.host}" mailport="${email.port}" subject="${email.subject}"
from="${email.from}" tolist="${email.to}"
encoding="mime" messagemimetype="text/html" >
<!--
接收邮件地址也可以按照下面方式写,但是一次只能写一个地址,不过可以写多个
<to-address="A@XX.com"/>
<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. 附件如果为中文名字,则显示乱码,但打开是正常的