JavaMail入门第三篇 发送邮件

来源:互联网 发布:淘宝电脑版首页登录 编辑:程序博客网 时间:2024/05/01 19:20

转载自:http://www.cnblogs.com/huangminwen/p/6087262.html

JavaMail入门第三篇 发送邮件

JavaMail API中定义了一个java.mail.Transport类,它专门用于执行邮件发送任务,这个类的实例对象封装了某种邮件发送协议的底层实施细节,应用程序调用这个类中的方法就可以把Message对象中封装的邮件数据发送到指定的SMTP服务器。使用JavaMail发送邮件时设计到的主要API之间的工作关系如下所示:

 

1、从Session对象中获得实现了某种邮件发送协议的Transport对象;

2、使用Session对象创建Message对象,并调用Message对象的方法封装邮件数据;

3、连接指定的SMTP服务器,调用Transport对象中的邮件发送方法Message对象中封装的邮件数据。

JavaMail入门第二篇 创建邮件一文中,我们学会了创建邮件,不过当时我们是将邮件写入到我们的本地磁盘中,接下来我们用JavaMail API提供的Transport类来发送邮件

复制代码
 1 import java.util.Date; 2 import java.util.Properties; 3  4 import javax.mail.Message; 5 import javax.mail.Session; 6 import javax.mail.Transport; 7 import javax.mail.internet.InternetAddress; 8 import javax.mail.internet.MimeMessage; 9 10 public class SendTextMail {11     public static void main(String[] args) throws Exception {12         String from = "123456@qq.com";13         String to = "123456@163.com";14         String subject = "test";15         String body = "test!!!";16         String smtpHost = "smtp.qq.com";17 18         Properties props = new Properties();19         props.setProperty("mail.transport.protocol", "smtp"); // 使用的协议(JavaMail规范要求)20         props.setProperty("mail.smtp.host", smtpHost); // 发件人的邮箱的 SMTP服务器地址21         props.setProperty("mail.smtp.auth", "true"); // 请求认证,参数名称与具体实现有关22 23         // 创建Session实例对象24         Session session = Session.getDefaultInstance(props);25         // 创建MimeMessage实例对象26         MimeMessage message = new MimeMessage(session);27         // 设置发件人28         message.setFrom(new InternetAddress(from));29         // 设置收件人30         message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to));31         // 设置发送日期32         message.setSentDate(new Date());33         // 设置邮件主题34         message.setSubject(subject);35         // 设置纯文本内容的邮件正文36         message.setText(body);37         // 保存并生成最终的邮件内容38         message.saveChanges();39         // 设置为debug模式, 可以查看详细的发送 log40         session.setDebug(true);41         // 获取Transport对象42         Transport transport = session.getTransport("smtp");43         // 第2个参数需要填写的是QQ邮箱的SMTP的授权码,什么是授权码,它又是如何设置?44         transport.connect(from, "****************");45         // 发送,message.getAllRecipients() 获取到的是在创建邮件对象时添加的所有收件人, 抄送人, 密送人46         transport.sendMessage(message, message.getAllRecipients());47         transport.close();48     }49 }
复制代码

注意:邮箱账号必须要开启SMTP服务。

发送带内嵌资源或者是带附件的复杂邮件代码与JavaMail入门第二篇 创建邮件一文中类似,只是将写入硬盘的步骤替换成上面代码中的42-47行即可,既然有发送邮件,当然也有接收邮件,下一篇JavaMail入门第四篇 接收邮件将介绍如何接收邮件。


阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 醋能除水垢吗 乐铺网 锦娇记 锦荷记 李锦记集团 李锦记生抽 李锦记酱料 李锦记香油 锦仙记 肖暖 乐锦记 锦娇记全文免费阅读 李锦记与无限极关系 清穿修圣记 流枫锦 李锦记和海天哪个好 李锦记辣椒酱 李锦记海鲜酱价格 李锦记沙茶酱 李锦记沙茶酱多少钱 李锦记叉烧酱 李锦记薄盐生抽 乐镜宇 买镜宇 助妻为乐沈嫣全文阅读 夫妇园乐在线阅读 王岚林小乐全文阅读 乐阅读 两个表妋乐茜乐茹全本阅读 农家乐小老板全文阅读 时乐颜傅君临免费阅读 全家互换共乐的日子全文阅读 乐曦慕容柏羽全免费阅读 乐烟儿夜廷琛全文免费阅读 乐娇夫人全文免费阅读 乐烟儿夜延琛免费阅读 乐雪薇韩承毅免费阅读 乐学阅读 沈乐颜慕焰澈全文免费阅读 乐文阅读 小舞不乐全文阅读 林小乐在末世全文免费阅读 好听的乐队名