龙空技术网

使用javamail发送邮件

青芽草 191

前言:

此刻姐妹们对“发送邮件java”大体比较关切,姐妹们都想要剖析一些“发送邮件java”的相关资讯。那么小编同时在网络上汇集了一些对于“发送邮件java””的相关资讯,希望各位老铁们能喜欢,看官们快快来学习一下吧!

1.发送一封简单的 E-mail

// 文件名 SendEmail.java import java.util.*;import javax.mail.*;import javax.mail.internet.*;import javax.activation.*; public class SendEmail{ public static void main(String [] args) {  // 收件人电子邮箱 String to = "abcd@gmail.com";  // 发件人电子邮箱 String from = "web@gmail.com";  // 指定发送邮件的主机为 localhost String host = "localhost";  // 获取系统属性 Properties properties = System.getProperties();  // 设置邮件服务器 properties.setProperty("mail.smtp.host", host);  // 获取默认session对象 Session session = Session.getDefaultInstance(properties);  try{ // 创建默认的 MimeMessage 对象 MimeMessage message = new MimeMessage(session);  // Set From: 头部头字段 message.setFrom(new InternetAddress(from));  // Set To: 头部头字段 message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));  // Set Subject: 头部头字段 message.setSubject("This is the Subject Line!");  // 设置消息体 message.setText("This is actual message");  // 发送消息 Transport.send(message); System.out.println("Sent message successfully...."); }catch (MessagingException mex) { mex.printStackTrace(); } }}

2.发送一封 HTML E-mail

// 文件名 SendHTMLEmail.java import java.util.*;import javax.mail.*;import javax.mail.internet.*;import javax.activation.*; public class SendHTMLEmail{ public static void main(String [] args) {  // 收件人电子邮箱 String to = "abcd@gmail.com";  // 发件人电子邮箱 String from = "web@gmail.com";  // 指定发送邮件的主机为 localhost String host = "localhost";  // 获取系统属性 Properties properties = System.getProperties();  // 设置邮件服务器 properties.setProperty("mail.smtp.host", host);  // 获取默认的 Session 对象。 Session session = Session.getDefaultInstance(properties);  try{ // 创建默认的 MimeMessage 对象。 MimeMessage message = new MimeMessage(session);  // Set From: 头部头字段 message.setFrom(new InternetAddress(from));  // Set To: 头部头字段 message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));  // Set Subject: 头字段 message.setSubject("This is the Subject Line!");  // 发送 HTML 消息, 可以插入html标签 message.setContent("<h1>This is actual message</h1>", "text/html" );  // 发送消息 Transport.send(message); System.out.println("Sent message successfully...."); }catch (MessagingException mex) { mex.printStackTrace(); } }}

3.发送带有附件的 E-mail

// 文件名 SendFileEmail.java import java.util.*;import javax.mail.*;import javax.mail.internet.*;import javax.activation.*; public class SendFileEmail{ public static void main(String [] args) {  // 收件人电子邮箱 String to = "abcd@gmail.com";  // 发件人电子邮箱 String from = "web@gmail.com";  // 指定发送邮件的主机为 localhost String host = "localhost";  // 获取系统属性 Properties properties = System.getProperties();  // 设置邮件服务器 properties.setProperty("mail.smtp.host", host);  // 获取默认的 Session 对象。 Session session = Session.getDefaultInstance(properties);  try{ // 创建默认的 MimeMessage 对象。 MimeMessage message = new MimeMessage(session);  // Set From: 头部头字段 message.setFrom(new InternetAddress(from));  // Set To: 头部头字段 message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));  // Set Subject: 头字段 message.setSubject("This is the Subject Line!");  // 创建消息部分 BodyPart messageBodyPart = new MimeBodyPart();  // 消息 messageBodyPart.setText("This is message body");  // 创建多重消息 Multipart multipart = new MimeMultipart();  // 设置文本消息部分 multipart.addBodyPart(messageBodyPart);  // 附件部分 messageBodyPart = new MimeBodyPart(); String filename = "file.txt"; DataSource source = new FileDataSource(filename); messageBodyPart.setDataHandler(new DataHandler(source)); messageBodyPart.setFileName(filename); multipart.addBodyPart(messageBodyPart);  // 发送完整消息 message.setContent(multipart );  // 发送消息 Transport.send(message); System.out.println("Sent message successfully...."); }catch (MessagingException mex) { mex.printStackTrace(); } }}

4.需要用户名密码验证邮件发送实例:

以 QQ 邮件服务器为例,你需要在登录QQ邮箱后台在"设置"=》账号中开启POP3/SMTP服务

// 需要用户名密码邮件发送实例//文件名 SendEmail2.java//本实例以QQ邮箱为例,你需要在qq后台设置 import java.util.Properties; import javax.mail.Authenticator;import javax.mail.Message;import javax.mail.MessagingException;import javax.mail.PasswordAuthentication;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage; public class SendEmail2{ public static void main(String [] args) { // 收件人电子邮箱 String to = "xxx@qq.com";  // 发件人电子邮箱 String from = "xxx@qq.com";  // 指定发送邮件的主机为 smtp.qq.com String host = "smtp.qq.com"; //QQ 邮件服务器  // 获取系统属性 Properties properties = System.getProperties();  // 设置邮件服务器 properties.setProperty("mail.smtp.host", host);  properties.put("mail.smtp.auth", "true"); // 获取默认session对象 Session session = Session.getDefaultInstance(properties,new Authenticator(){ public PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication("xxx@qq.com", "qq邮箱授权码"); //发件人邮件用户名、授权码 } });  try{ // 创建默认的 MimeMessage 对象 MimeMessage message = new MimeMessage(session);  // Set From: 头部头字段 message.setFrom(new InternetAddress(from));  // Set To: 头部头字段 message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));  // Set Subject: 头部头字段 message.setSubject("This is the Subject Line!");  // 设置消息体 message.setText("This is actual message");  // 发送消息 Transport.send(message); System.out.println("Sent message successfully....from runoob.com"); }catch (MessagingException mex) { mex.printStackTrace(); } }}

标签: #发送邮件java #java发送带附件的邮件 #javaqq邮箱发