JavaMail保存为草稿邮件

学习笔记-JavaMail 专栏收录该内容
3 篇文章 0 订阅
package 草稿测试;

import java.util.Date;
import java.util.Properties;

import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;


public class SaveDraf {
	
	
	
	public static String host = "******"; // 发件服务器
	public static String username = "*****";//邮箱账户
	public static String password = "****";//密码
	
	public static void main(String[] args) {
		sendMail("收件邮箱", "邮件主题", "<h1>呜哈哈哈哈</h1>");
	}
	
	
	/**
	 * @param to 收件人
	 * @param title 主题
	 * @param content 内容
	 */
	public static void sendMail(String to, String title, String content) {
		Properties props = System.getProperties();
		props.put("mail.transport.protocol", "smtp");
		props.put("mail.smtp.host", host);
		props.put("mail.smtp.port", "25");
		props.setProperty("mail.transport.protocol", "smtp");
		props.setProperty("mail.smtp.auth", "true");
		Session session = Session.getInstance(props, new Authenticator() {
			protected PasswordAuthentication getPasswordAuthentication() {
				return new PasswordAuthentication(username, password);
			}
		});
		try {		
			Properties prop = new Properties();
			Session session1 = Session.getDefaultInstance(prop, null);
			Store store = session1.getStore("imap");
			store.connect(host, username, password);
			Folder folder = store.getFolder("Drafts");// 打开草稿箱	
			MimeMessage mmessage = new MimeMessage(session);
			mmessage.setFrom(new InternetAddress(username));
			mmessage.setRecipient(Message.RecipientType.TO,new InternetAddress(to));
			mmessage.setSubject(title);
			Multipart mainPart = new MimeMultipart();
			BodyPart html = new MimeBodyPart();
			html.setContent(content, "text/html; charset=utf-8");
			mainPart.addBodyPart(html);
			mmessage.setContent(mainPart);
			mmessage.setSentDate(new Date());
			mmessage.saveChanges();
			mmessage.setFlag(Flags.Flag.DRAFT, true);
			MimeMessage draftMessages[] = {mmessage};
			System.out.println(mmessage.getSubject());
			folder.appendMessages(draftMessages);
//			Transport.send(mmessage);
			System.out.println("保存成功");
		} catch (Exception ex) {
			ex.printStackTrace();
		}
	}
}

  • 0
    点赞
  • 1
    评论
  • 3
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

Spring Boot整合邮件发送并保存历史发送邮箱 项目描述 项目主要是使用 Spring Boot 发送邮件,主要的技术点有: 1、Spring Boot +mybatis的整合 2、Spring Boot项目中jsp的使用 3、Spring Boot 发送邮件(文本格式的邮件、发送HTML格式的邮件、发送带附件 的邮件、发送带静态资源的邮件) 个人觉得Springboot的开发简单的归纳三步jar包引入,配置,应用。 (一)简单使用 1)JSP的使用配置 Spring Boot整合邮件发送并保存历史发送邮箱 Spring Boot整合邮件发送并保存历史发送邮箱 2) 邮件发送服务 1、pom 包配置 pom.xml 引入加 spring-boot-starter-mail 依赖包: Spring Boot整合邮件发送并保存历史发送邮箱 2、配置文件 application.yml Spring Boot整合邮件发送并保存历史发送邮箱 注意:测试时需要将 spring.mail.username 和 spring.mail.password 改成自己邮箱对应的登录名和密码,这里的密码不是邮箱的登录密码,是开启 POP3 之后设置的客户端授权密码。 MailServiceImpl.java JavaMailSender (1)Spirng 已经帮我们内置了 JavaMailSender,直接在项目中引用即可。我们封装一个 MailService 类来实现普通的邮件发送方法。 Spring Boot整合邮件发送并保存历史发送邮箱 from,即邮件发送者; to,邮件接收者; subject,邮件主题; content,邮件的主体。 邮件发送者 from 一般采用固定的形式写到配置文件中。 (2)富文本邮件 在日常使用的过程中,通常在邮件中加入图片或者附件来丰富邮件的内容 发送 HTML 格式邮件 邮件发送支持以 HTML 的形式去构建我们喜欢的文本格式,Spring 对 HTML 格式的邮件也做出了支持,非常方便使用。 我们在 MailService 中添加支持 HTML 发送的方法. Spring Boot整合邮件发送并保存历史发送邮箱 和上面对比,这次发送邮件使用 MimeMessageHelper 类。MimeMessageHelper 支持发送复杂邮件模板,支持文本、附件、HTML、图片等,接下来我们会继续使用。 (3)发送带附件的邮件MailService 添加 sendAttachmentsMail 方法。 Spring Boot整合邮件发送并保存历史发送邮箱 (4)发送带静态资源的邮件 邮件中的静态资源一般就是指图片,在 MailService 添加 sendAttachmentsMail 方法。 Spring Boot整合邮件发送并保存历史发送邮箱 相关测试在这里就省略了 (二)本项目中主要以发送 HTML 格式邮件例,发送邮件并把邮箱保存到数据库中 FreeMarker模板引擎 Spring Boot整合邮件发送并保存历史发送邮箱 邮件模板 Spring Boot整合邮件发送并保存历史发送邮箱 运行环境 jdk8+tomcat8+mysql+IntelliJ IDEA+maven 项目技术(必填) springboot +mybatis +jquery+jsp 数据库文件 压缩包内 jar包文件 maven搭建
©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值