Jadual Kandungan
JavaMail邮件开发
一、只带有纯文本的邮件
代码事例如下:
package com.lyh.sendemail; import java.util.Properties; import javax.mail.Message; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; //发送邮件 public class MessageDemo1 { public static void main(String[] args) throws Exception{ Properties props = new Properties();//key value:配置参数。真正发送邮件时再配置 props.setProperty("mail.transport.protocol", "smtp");//指定邮件发送的协议,参数是规范规定的 props.setProperty("mail.host", "smtp.163.com");//指定发件服务器的地址,参数是规范规定的 // props.setProperty("mail.debug", "true");//邮件发送的调试模式,参数是规范规定的 props.setProperty("mail.smtp.auth", "true");//请求服务器进行身份认证。参数与具体的JavaMail实现有关 Session session = Session.getInstance(props);//发送邮件时使用的环境配置 session.setDebug(true); MimeMessage message = new MimeMessage(session); //设置邮件的头 message.setFrom(new InternetAddress("xxx@163.com")); message.setRecipients(Message.RecipientType.TO, "xxx@qq.com"); message.setSubject("This is second message"); //设置正文 message.setContent("<h1 id="hello">hello</h1>", "text/html"); // message.setText("<h1 id="hello">hello</h1>");//纯文本 message.saveChanges(); //发送邮件 Transport ts = session.getTransport(); ts.connect("xxx@163.com", "123456"); // 密码为授权码不是邮箱的登录密码 ts.sendMessage(message, message.getAllRecipients());//对象,用实例方法} } }
Salin selepas log masuk
二、带有图片的邮件
a、复杂邮件封装模型
代码事例
package com.lyh.sendemail; import java.util.Properties; import javax.activation.DataHandler; import javax.activation.FileDataSource; import javax.mail.Message; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; //发送邮件 public class MessageDemo2 { public static void main(String[] args) throws Exception{ Properties props = new Properties();//key value:配置参数。真正发送邮件时再配置 props.setProperty("mail.transport.protocol", "smtp");//指定邮件发送的协议,参数是规范规定的 props.setProperty("mail.host", "smtp.163.com");//指定发件服务器的地址,参数是规范规定的 // props.setProperty("mail.debug", "true");//邮件发送的调试模式,参数是规范规定的 props.setProperty("mail.smtp.auth", "true");//请求服务器进行身份认证。参数与具体的JavaMail实现有关 Session session = Session.getInstance(props);//发送邮件时使用的环境配置 session.setDebug(true); MimeMessage message = new MimeMessage(session); //设置邮件的头 message.setFrom(new InternetAddress("xxx@163.com")); message.setRecipients(Message.RecipientType.TO, "xxx@qq.com"); message.setSubject("This is second message"); //设置正文 //搞出文本部分 MimeBodyPart textPart = new MimeBodyPart(); textPart.setContent("aaa<img src='cid:mm'/ alt="JavaMail邮件开发" >aaa", "text/html"); //搞图片部分 MimeBodyPart imagePart = new MimeBodyPart(); imagePart.setContentID("mm"); //把磁盘上的文件加到part中使用到了JAF框架 DataHandler dh = new DataHandler(new FileDataSource("src/0.jpg")); imagePart.setDataHandler(dh); MimeMultipart mp = new MimeMultipart(); mp.addBodyPart(textPart); mp.addBodyPart(imagePart); mp.setSubType("related");//有关系的 message.setContent(mp); message.saveChanges(); //发送邮件 Transport ts = session.getTransport(); ts.connect("xxx@163.com", "123456"); //密码为授权码不是邮箱的登录密码 ts.sendMessage(message, message.getAllRecipients());//对象,用实例方法 } }
Salin selepas log masuk
三、带有文本、图片、附件的邮件
代码事例:
package com.lyh.sendemail; import java.util.Properties; import javax.activation.DataHandler; import javax.activation.FileDataSource; import javax.mail.Message; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; import javax.mail.internet.MimeUtility; //发送邮件 public class MessageDemo3 { public static void main(String[] args) throws Exception{ Properties props = new Properties();//key value:配置参数。真正发送邮件时再配置 props.setProperty("mail.transport.protocol", "smtp");//指定邮件发送的协议,参数是规范规定的 props.setProperty("mail.host", "smtp.163.com");//指定发件服务器的地址,参数是规范规定的 // props.setProperty("mail.debug", "true");//邮件发送的调试模式,参数是规范规定的 props.setProperty("mail.smtp.auth", "true");//请求服务器进行身份认证。参数与具体的JavaMail实现有关 Session session = Session.getInstance(props);//发送邮件时使用的环境配置 // session.setDebug(true); MimeMessage message = new MimeMessage(session); //设置邮件的头 message.setFrom(new InternetAddress("xxx@163.com")); message.setRecipients(Message.RecipientType.TO, "xxxqq.com"); message.setSubject("这是一封复杂的邮件"); //设置正文 //搞出文本部分 MimeBodyPart textPart = new MimeBodyPart(); textPart.setContent("美女<img src='cid:mm'/ alt="JavaMail邮件开发" >aaa", "text/html;charset=UTF-8"); //搞图片部分 MimeBodyPart imagePart = new MimeBodyPart(); imagePart.setContentID("mm"); //把磁盘上的文件加到part中使用到了JAF框架 DataHandler dh = new DataHandler(new FileDataSource("src/0.jpg")); imagePart.setDataHandler(dh); MimeMultipart mp = new MimeMultipart(); mp.addBodyPart(textPart); mp.addBodyPart(imagePart); mp.setSubType("related");//有关系的 MimeBodyPart textImagePart = new MimeBodyPart(); //将 MimeMultipart 添加到 MimeBodyPart实现附件的发送 textImagePart.setContent(mp); //创建附件部分 MimeBodyPart attachmentPart = new MimeBodyPart(); dh = new DataHandler(new FileDataSource("src/账户.rar")); String filename = dh.getName(); attachmentPart.setDataHandler(dh); //手工设置文件名 防止乱码使用 javaMail里的 MimeUtility进行编码 attachmentPart.setFileName(MimeUtility.encodeText(filename)); //最终的 MimeMultipart MimeMultipart finalMp = new MimeMultipart(); finalMp.addBodyPart(attachmentPart); finalMp.addBodyPart(textImagePart); finalMp.setSubType("mixed"); message.setContent(finalMp); message.saveChanges(); //发送邮件 Transport ts = session.getTransport(); ts.connect("xxx@163.com", "123456"); //密码为授权码不是邮箱的登录密码 ts.sendMessage(message, message.getAllRecipients());//对象,用实例方法 } }
Salin selepas log masuk
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas
Assassin's Creed Shadows: Penyelesaian Riddle Seashell
4 minggu yang lalu
By DDD
Apa yang Baru di Windows 11 KB5054979 & Cara Memperbaiki Masalah Kemas Kini
3 minggu yang lalu
By DDD
Di mana untuk mencari kad kunci kawalan kren di atomfall
4 minggu yang lalu
By DDD
<🎜>: Rails Dead - Cara Melengkapkan Setiap Cabaran
1 bulan yang lalu
By DDD
Panduan Atomfall: Lokasi Item, Panduan Pencarian, dan Petua
1 bulan yang lalu
By DDD

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)
