经过javamail发送电子邮件

首先固然是到官网去下载javamail的jar包了;放置到工程中html

接下来固然就是代码了,下面是我本身写的一个demo,java

package com.mail;服务器

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

import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.BodyPart;
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;
import javax.mail.internet.MimeUtility;编码

public class TestMail {
private static String affix = ""; // 附件地址
private static String affixName = ""; // 附件名称

public static void sendMail(String fromMail, String user, String password,
String toMail,
String mailTitle,
String mailContent) throws Exception {
Properties pro = new Properties(); //能够加载一个配置文件
// 使用smtp:简单邮件传输协议
String smtpHostName = "smtp." + fromMail.split("@")[1];
pro.put("mail.smtp.host", smtpHostName);//存储发送邮件服务器的信息
pro.put("mail.smtp.auth", "true");//同时经过验证

Session session = Session.getInstance(pro);//根据属性新建一个邮件会话
session.setDebug(true); //有他会打印一些调试信息。

MimeMessage message = new MimeMessage(session);//由邮件会话新建一个消息对象
message.setFrom(new InternetAddress(fromMail));//设置发件人的地址
message.setRecipient(Message.RecipientType.TO, new InternetAddress(toMail));//设置收件人,并设置其接收类型为TO
message.setSubject(mailTitle);//设置标题
//设置信件内容

// 向multipart对象中添加邮件的各个部份内容,包括文本内容和附件
Multipart multipart = new MimeMultipart();调试

// 设置邮件的文本内容
BodyPart contentPart = new MimeBodyPart();
contentPart.setText("邮件的具体内容在此");
multipart.addBodyPart(contentPart);
// 添加附件
BodyPart messageBodyPart = new MimeBodyPart();
DataSource source = new FileDataSource(affix);
// 添加附件的内容
messageBodyPart.setDataHandler(new DataHandler(source));
// 添加附件的标题
// 这里很重要,经过下面的MimeUtility编码的转换能够保证你的中文附件标题名在发送时不会变成乱码
messageBodyPart.setFileName(MimeUtility.encodeText(affixName));
multipart.addBodyPart(messageBodyPart);

message.setContent(multipart);
// message.setText(mailContent); //发送 纯文本 邮件 todo
// message.setContent(mailContent, "text/html;charset=gbk"); //发送HTML邮件,内容样式比较丰富
message.setSentDate(new Date());//设置发信时间
message.saveChanges();//存储邮件信息

//发送邮件
Transport transport = session.getTransport("smtp");
// Transport transport = session.getTransport();
transport.connect(user, password); //这里的密码多是发件人的登陆密码,也多是对应邮箱服务器的受权码
transport.sendMessage(message, message.getAllRecipients());//发送邮件,其中第二个参数是全部已设好的收件人地址
transport.close();
}

public static void main(String[] args) throws Exception {
sendMail("", "", "", "", "", "");
}
}code

若有帮助,不胜荣幸;htm