2023年Java邮件开发与反垃圾邮件机制.docx
《2023年Java邮件开发与反垃圾邮件机制.docx》由会员分享,可在线阅读,更多相关《2023年Java邮件开发与反垃圾邮件机制.docx(5页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、2023年Java邮件开发与反垃圾邮件机制 Java邮件开发与反垃圾邮件机制 一、JavaMail与SMTP 通常我们使用JavaMail,都是通过SMTP服务器来发送邮件,比如说我有一个的邮件账号,想给的邮箱发送邮件。 用户A首先将需要发送的邮件通过SMTP协议发送给他所在的邮件服务器domain1,然后domain1判断收件人所在的域为domain2,于是domain1通过SMTP协议再重新将邮件发送到domain2。最后用户B连接到自己的邮件服务器domain2,接收邮件。通常domain1会将邮件缓存,以便出错时重新发送,如果重试几次后还是发送失败,可能会给用户A发送一封邮件以告知邮件
2、发送失败。如果用户A是一个应用的话,很难知道邮件发送成功与否。 另外一种做法是,用户(或者我们自己的应用)直接连接对方的SMTP服务器来发送邮件,其实就是连接到对方的25端口,然后按顺序发送一些SMTP的命令。详细的SMTP信息,大家可以查阅相应资料。JavaMail对这些底层的数据传输做了很好的包装。 只要用户A发送的数据格式和前面domain1发送的相同,对于domain2来说,没什么区别。而且在这种方式下,如果邮件发送失败,比如收件人地址不存在,用户A会马上得到邮件发送失败信息。所以在实际的应用中,这种方式比较常见。但是这种方式需要知道对方的SMTP服务器的地址,在Windows下,可以
3、在命令行执行nslookup,输入 set type=mx,然后输入需要查找的域名,比如,就可以查找到它的SMTP服务器地址。同样在Java中,可以通过JNDI或者开源的dnsjava查找收件人所在域的SMTP服务器地址。这里给出一个简单的例子。 public cla JavaMailSendingHandler implements ILocalEmailSendingHandler public void send(String to, String from, String subject, String content, String contentType) throws Excep
4、tion Properties props = new Properties(); props.put(mail.smtp.localhost, getHost(from); String server = getSMTPServerByJNDI(getHost(to); props.setProperty(mail.smtp.host, server); Seion seion = Seion.getInstance(props, null); MimeMeage meage = new MimeMeage(seion); meage.setContent(content, contentT
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 Java 邮件 开发 垃圾邮件 机制
限制150内