前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java---通过smtp模拟发信

Java---通过smtp模拟发信

原创
作者头像
用户1215037
修改2021-09-09 17:50:57
4810
修改2021-09-09 17:50:57
举报
文章被收录于专栏:云生活应用云生活应用

可以通过邮件的smtp协议发送邮件

public class MailUtil { public static MimeMessage createMimeMessage(Session session, String sendMail, String receivename, String receiveMail, String subject, String content) throws Exception { // 1. 创建一封邮件 MimeMessage message = new MimeMessage(session); // 2. From: 发件人 message.setFrom(new InternetAddress(sendMail, "发件人名称", "UTF-8")); // 3. To: 收件人(可以增加多个收件人、抄送、密送) message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(receiveMail, receivename, "UTF-8")); // 4. Subject: 邮件主题 message.setSubject(subject, "UTF-8"); // 5. Content: 邮件正文(可以使用html标签) MimeBodyPart text = new MimeBodyPart(); text.setContent(content, "text/html;charset=UTF-8"); MimeMultipart mp = new MimeMultipart(); mp.addBodyPart(text); mp.setSubType("mixed"); message.setContent(mp); message.saveChanges(); // 6. 设置发件时间 message.setSentDate(new Date()); // 7. 保存设置 message.saveChanges(); return message; } public static void sendmail(String content,String recivemail) throws Exception{ Properties props = new Properties(); props.put("mail.smtp.host", "smtp服务器地址"); props.put("mail.smtp.starttls.enable","true");//使用 STARTTLS安全连接 props.put("mail.smtp.port", "smtp服务器端口"); //google使用465或587端口 props.put("mail.smtp.auth", "true"); // 使用验证 props.put("mail.debug", "true"); Session mailSession = Session.getInstance(props,new MyAuthenticator("发信的邮箱地址","发信的邮箱密码")); Transport transport = mailSession.getTransport("smtp"); transport.connect("smtp服务器地址","发信的邮箱地址","发信的邮箱密码"); MimeMessage m=MailUtil.createMimeMessage(mailSession, "发件邮箱","收件人姓名", recivemail,"主题",content); transport.sendMessage(m, m.getAllRecipients()); transport.close(); } } class MyAuthenticator extends Authenticator{ String userName=""; String password=""; public MyAuthenticator(){ } public MyAuthenticator(String userName,String password){ this.userName=userName; this.password=password; } protected PasswordAuthentication getPasswordAuthentication(){ return new PasswordAuthentication(userName, password); } }

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档