java创建邮件并发送
Posted 幽兰吐秀自含芳
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java创建邮件并发送相关的知识,希望对你有一定的参考价值。
创建邮件涉及到的类:MimeMessage、MimeBodyPart、MimeMultipart
发送邮件涉及到的类:Transport
相关类:Session、Properties
实例:
/** * 制作带附件的邮件并发送 * * @throws Exception */ public static void makeEmailAndSend() throws Exception { String from = "";// 发件箱 String to = "";// 收件箱 String subject = "test";// 邮件主题 String body = "testResult";// 邮件内容 // 邮件服务器地址以及登陆用户名和密码 String smtpHost = ""; String user = ""; String password = ""; Properties props = new Properties();// Properties用户属性配置 props.setProperty("mail.transport.protocol", "smtp");// 使用的协议(JavaMail规范要求) props.setProperty("mail.smtp.host", smtpHost);// 发件人的邮箱的 SMTP服务器地址 props.setProperty("mail.smtp.auth", "true");// 请求认证,参数名称与具体实现有关 Session session = Session.getDefaultInstance(props);// session对象主要用于属性操作和会话管理 // 创建MimeMessage对象,定义MIME消息头信息 MimeMessage message = new MimeMessage(session); message.setFrom(new InternetAddress(from)); message.setRecipients(MimeMessage.RecipientType.TO, to); message.setSubject(subject); message.setSentDate(new Date()); // message.setText(body);//发纯文本邮件,可以直接用setText // 定义一个MimeMultipart对象,可以包含多个MimeBodyPart MimeMultipart multipart = new MimeMultipart(); // 表示邮件的一个MIME消息 MimeBodyPart bodyPart = new MimeBodyPart(); bodyPart.setContent(body, "text/html;charset=utf-8");// 设置HTML格式的邮件正文 multipart.addBodyPart(bodyPart); // 创建一个附件的MimeBodyPart对象, 并将它加入到前面创建的MimeMultipart对象中 MimeBodyPart attachment = new MimeBodyPart(); FileDataSource dataSource = new FileDataSource("D:\\test.jpg"); attachment.setFileName(dataSource.getName()); attachment.setDataHandler(new DataHandler(dataSource)); multipart.addBodyPart(attachment); //将multipart对象添加到消息体中 message.setContent(multipart); message.saveChanges();//保存并生成邮件内容 // 用JavaMail Session对象的getTransport 方法来初始化Transport Transport transport = session.getTransport("smtp"); transport.connect(smtpHost, user, password); // 发送,message.getAllRecipients() 获取到的是在创建邮件对象时添加的所有收件人, 抄送人, 密送人 transport.sendMessage(message, message.getAllRecipients()); transport.close(); }
以上是关于java创建邮件并发送的主要内容,如果未能解决你的问题,请参考以下文章