南昌二手网站开发方案,wordpress 单点登录,网页设计师就业趋势,建设网站是哪个部门负责使用javax.mail可以发送普通文本文件#xff0c;HTML格式的文件#xff0c;同样可以发送图文并茂(包含附件)的java邮件。 发送邮件需要在验证发送的邮箱和密码#xff1a;验证的帐号(本人使用163邮件)需要打开POP3/SMTP/IMAP 设置邮箱授权登录密码(已设置好): 新建java项目添…使用javax.mail可以发送普通文本文件HTML格式的文件同样可以发送图文并茂(包含附件)的java邮件。 发送邮件需要在验证发送的邮箱和密码验证的帐号(本人使用163邮件)需要打开POP3/SMTP/IMAP 设置邮箱授权登录密码(已设置好): 新建java项目添加javax.mail.jar文件并添加如下类文件: 发送邮件格式需要基本信息类EmailMessage package com.util.mail;import java.util.Date;/*** 发送邮件需要基本信息类*/
public class EmailMessage {// 邮件接收者public static String TO 15026933568163.com; // 邮件发送人public static String FROM 15026933568163.com; // 发送人姓名public static String FROM_NAME 15026933568; // 抄送者 public static String CC1298243794qq.com; // 暗送者public static String BCC15026933568163.com; // 邮件类型public static String Email_Content text/plain;// 邮件主题public static String Email_Subject Test Email With JavaMail; // 邮件头public static String Email_Header This Is Email Header; // 邮件内容public static String Email_Body a href\http://www.baidu.com\This Is Email Body/a; // 使用邮箱 如果使用QQ修改为smtp.qq.compublic static String Email_Host smtp.163.com; // 邮件发送日期public static Date sendDate new Date(); // 是否验证public static boolean validate true;
}发送者邮件信息验证类MailAuthenticator package com.util.mail;import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;/*** 用户名和密码的验证* author xiazhongwei**/
public class MailAuthenticator extends Authenticator{private String username15026933568; private String password******; public MailAuthenticator() {super();}/*** 设置验证的用户名和密码*/public MailAuthenticator(String userName , String password) {super();this.username userName;this.password password;}protected PasswordAuthentication getPasswordAuthentication(){ return new PasswordAuthentication(this.username,this.password); }
}发送邮件类: package com.util.mail;import java.util.Properties;import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.Address;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.Multipart;
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 SendEmail
{/** * 发送普通邮件 * throws Exception */ public void doSendNormalMail() {
// 获取系统环境 Properties prop new Properties(); Authenticator auth null;
// 判断发送邮件是否需要验证if (EmailMessage.validate) {
// 邮件服务器认证 用户名和密码auth new MailAuthenticator(); }
// 添加必要的信息prop.put(mail.smtp.host, EmailMessage.Email_Host); prop.put(mail.smtp.auth, true); // 设置对话和邮件服务器进行通讯Session session Session.getDefaultInstance(prop, auth);
// 在控制台显示Debug信息session.setDebug(true);
// 设置邮件对象Message message new MimeMessage(session); try {
// 设置邮件主题 message.setSubject(EmailMessage.Email_Subject);
// 设置邮件标题 message.setHeader(Header, EmailMessage.Email_Header);
// 设置发送时间 message.setSentDate(EmailMessage.sendDate);// 设置发信人地址 和 名字Address address new InternetAddress(EmailMessage.FROM, EmailMessage.FROM_NAME);
// 把发件人信息添加到信息中message.setFrom(address); // 设置发件人地址Address toAddress new InternetAddress(EmailMessage.TO);
// 设置接收人地址message.setRecipient(Message.RecipientType.TO, toAddress); // 设置多个收件人地址
// message.addRecipient(Message.RecipientType.TO,new InternetAddress(xxxxxx.com)); // 设置邮件格式message.setContent(Content, EmailMessage.Email_Content);
// 设置邮件内容 必须在设置文件格式后面message.setText(EmailMessage.Email_Body); // 保存上面添加的信息message.saveChanges();
// 发送邮件 System.out.println(sendNormalEmail() 开始发送邮件……); Transport.send(message); System.out.println(发送成功); } catch (Exception e) { System.out.println(出错); e.printStackTrace(); } } /*** 发送HTML格式的邮件*/public void doSendHtmlMail() {
// 获取系统环境 Properties prop new Properties(); Authenticator auth null;if (EmailMessage.validate){
// 邮件服务器认证 用户名和密码auth new MailAuthenticator();}
// 添加必要的信息prop.put(mail.smtp.host, EmailMessage.Email_Host); prop.put(mail.smtp.auth, true); // 设置对话和邮件服务器进行通讯Session session Session.getDefaultInstance(prop, auth); // 设置邮件对象Message message new MimeMessage(session); try {
// 设置邮件主题 message.setSubject(EmailMessage.Email_Subject);
// 设置邮件标题 message.setHeader(Header, EmailMessage.Email_Header);
// 设置发送时间 message.setSentDate(EmailMessage.sendDate);// 设置发信人地址 和 名字Address address new InternetAddress(EmailMessage.FROM, EmailMessage.FROM_NAME);
// 把发件人信息添加到信息中message.setFrom(address); // 设置发件人地址Address toAddress new InternetAddress(EmailMessage.TO);
// 设置接收人地址message.setRecipient(Message.RecipientType.TO, toAddress); // 设置多个收件人地址
// message.addRecipient(Message.RecipientType.TO,new InternetAddress(xxxxxx.com)); // 设置发送信息的内容 下面为发送hmml
// 设置邮件格式EmailMessage.Email_Content text/html; charsetutf-8;message.setContent(EmailMessage.Email_Body, EmailMessage.Email_Content); // 保存上面添加的信息message.saveChanges();
// 发送邮件 System.out.println(doSendHtmlMail() 开始发送邮件……); Transport.send(message); System.out.println(发送成功); } catch (Exception e) { System.out.println(出错); e.printStackTrace(); } } /*** 发送带有附件格式的邮件*/public void doSendAttachmentMail() {
// 获取系统环境 Properties prop new Properties(); Authenticator auth null;if (EmailMessage.validate){
// 邮件服务器认证 用户名和密码auth new MailAuthenticator();}
// 添加必要的信息prop.put(mail.smtp.host, EmailMessage.Email_Host); prop.put(mail.smtp.auth, true); // 设置对话和邮件服务器进行通讯Session session Session.getDefaultInstance(prop, auth); // 设置邮件对象Message message new MimeMessage(session); try {
// 设置邮件主题 message.setSubject(EmailMessage.Email_Subject);
// 设置邮件标题 message.setHeader(Header, EmailMessage.Email_Header);
// 设置发送时间 message.setSentDate(EmailMessage.sendDate);// 设置发信人地址 和 名字Address address new InternetAddress(EmailMessage.FROM, EmailMessage.FROM_NAME);
// 把发件人信息添加到信息中message.setFrom(address); // 设置发件人地址Address toAddress new InternetAddress(EmailMessage.TO);
// 设置接收人地址message.setRecipient(Message.RecipientType.TO, toAddress); // 设置多个收件人地址
// message.addRecipient(Message.RecipientType.TO,new InternetAddress(xxxxxx.com)); // 设置发送信息的内容 下面为发送附件message.setContent(EmailMessage.Email_Body, EmailMessage.Email_Content); //BodyPart messageBodyPart new MimeBodyPart(); MimeBodyPart messageBodyPart new MimeBodyPart(); String body h4内含附件、图文并茂的邮件测试/h4 /br a href http://haolloyin.blog.51cto.com/ 蚂蚁/a/br img src \cid:logo_jpg\/a;MimeBodyPart image createContent(body,E:\\1.jpg);messageBodyPart.setText(img srccid:image_fairy_tail/); Multipart multipart new MimeMultipart(); //multipart.addBodyPart(messageBodyPart); messageBodyPart new MimeBodyPart(); // 设置上传的资源DataSource source new FileDataSource(E:\\3.txt);
// 添加到messageBodyPart.setDataHandler(new DataHandler(source));
// 设置文件名称,记得后缀名messageBodyPart.setFileName(3.txt); multipart.addBodyPart(messageBodyPart);// 5. 创建图片“节点”/*MimeBodyPart image new MimeBodyPart();DataHandler dh new DataHandler(new FileDataSource(E:\\1.jpg)); // 读取本地文件image.setDataHandler(dh); // 将图片数据添加到“节点”image.setContentID(image_fairy_tail); */ // 为“节点”设置一个唯一编号在文本“节点”将引用该ID// 6. 创建文本“节点”MimeBodyPart text new MimeBodyPart();// 这里添加图片的方式是将整个图片包含到邮件内容中, 实际上也可以以 http 链接的形式添加网络图片text.setContent(这是一张图片br/img srccid:image_fairy_tail/, text/html;charsetUTF-8);multipart.addBodyPart(image);multipart.addBodyPart(text);message.setContent(multipart); // 保存上面添加的信息message.saveChanges();
// 发送邮件 System.out.println(doSendAttachmentMail() 开始发送邮件……); Transport.send(message); System.out.println(发送成功); } catch (Exception e){ System.out.println(出错); e.printStackTrace(); } } /** * 根据传入的邮件正文body和文件路径创建图文并茂的正文部分 */ public MimeBodyPart createContent(String body, String fileName) throws Exception { // 用于保存最终正文部分 MimeBodyPart contentBody new MimeBodyPart(); // 用于组合文本和图片related型的MimeMultipart对象 MimeMultipart contentMulti new MimeMultipart(related); // 正文的文本部分 MimeBodyPart textBody new MimeBodyPart(); textBody.setContent(body, text/html;charsetutf-8); contentMulti.addBodyPart(textBody); // 正文的图片部分 MimeBodyPart jpgBody new MimeBodyPart(); FileDataSource fds new FileDataSource(fileName); jpgBody.setDataHandler(new DataHandler(fds)); jpgBody.setContentID(logo_jpg); contentMulti.addBodyPart(jpgBody); // 将上面related型的 MimeMultipart 对象作为邮件的正文 contentBody.setContent(contentMulti); return contentBody; }}发送邮件入口测试函数类 /*** param args*/public static void main(String[] args){//new SendEmail().doSendNormalMail();//new SendEmail().doSendHtmlMail();new SendEmail().doSendAttachmentMail();}创建好上述内容执行发送邮件测试函数:(发送正文包含文字图片附件) 源码下载地址:https://github.com/ablejava/JavaMail转载于:https://www.cnblogs.com/ablejava/p/5784472.html