iLife's 博客http://blog.youkuaiyun.com/fei1502816
- import java.io.UnsupportedEncodingException;
- import java.util.Date;
- import java.util.Properties;
- import javax.mail.Address;
- import javax.mail.Message;
- import javax.mail.MessagingException;
- import javax.mail.Session;
- import javax.mail.Transport;
- import javax.mail.internet.AddressException;
- import javax.mail.internet.InternetAddress;
- import javax.mail.internet.MimeMessage;
- /**
- * 邮件发送
- */
- public class SendMail {
- /**
- * 不需要验证的邮件发送
- * String fromMail 发件人地址
- * String password 发件人密码
- * String toMail 收件人地址
- * String messageText 发送的消息
- * String title 发送的标题
- * String serviceName 使用的邮件服务器
- * @throws Exception
- */
- public static void setMessage(String fromMail, String toMail,
- String messageText, String serviceName) throws Exception {
- Properties props = System.getProperties();
- props.put("mail.smtp.host", serviceName); //设置smtp的服务器地址:该邮件服务器不需要身份验证
- props.put("mail.smtp.auth", "false"); //设置smtp服务器要身份验证:缺省设置为false
- Address from = new InternetAddress(fromMail);
- Address to = new InternetAddress(toMail);
- Session session = Session.getDefaultInstance(props, null);
- Message message = new MimeMessage(session);
- message.setFrom(from);
- message.addRecipient(Message.RecipientType.TO, to);
- message.setText(messageText);
- Transport.send(message);
- }
- /**
- * 带授权的发送邮件
- * String fromMail 发件人地址
- * String password 发件人密码
- * String toMail 收件人地址
- * String messageText 发送的消息
- * String title 发送的标题
- * String serviceName 使用的邮件服务器
- * @throws Exception
- */
- public static void setMessageWithAuthentica(String fromMail,String password,String toMail,String messageText,String title,String serviceName) throws Exception{
- Properties props = new Properties();
- props.put("mail.smtp.host",serviceName); //设置smtp的服务器地址是smtp.sohu.com
- props.put("mail.transport.protocol", "smtp");
- props.put("mail.smtp.auth","true"); //设置smtp服务器要身份验证。
- String formMailName=fromMail.split("@")[0];
- String toMailName=toMail.split("@")[0];
- PopupAuthenticator auth = new PopupAuthenticator(formMailName,fromMail);
- Session session = Session.getDefaultInstance(props,auth);
- session.setDebug(true);
- // 发送人地址
- Transport transport = null;
- try {
- Address addressFrom = new InternetAddress(fromMail, formMailName);
- // 收件人地址
- Address[] addressTo =new Address[]{new InternetAddress(toMail, toMailName)};
- // 抄送地址
- // Address addressCopy = new InternetAddress("xxx@gmail.com", "xxx密码");
- Message message = new MimeMessage(session);
- message.setText(messageText);
- message.setSubject(title);
- message.setFrom(addressFrom);
- message.addRecipients(Message.RecipientType.TO,addressTo);
- // message.addRecipient(Message.RecipientType.CC,addressCopy);
- message.saveChanges();
- // session.setDebug(true);
- transport = session.getTransport("smtp"); //创建连接
- transport.connect(serviceName, fromMail, password);//连接服务器
- transport.sendMessage(message, addressTo); //发送信息
- transport.close(); //关闭连接
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- Loggers.error("发送邮件错误:SendMail--setMessageWithAuthentica--UnsupportedEncodingException:"+e);
- } catch (MessagingException e) {
- e.printStackTrace();
- Loggers.error("发送邮件错误:SendMail--setMessageWithAuthentica--MessagingException"+e);
- } finally {
- if(transport != null & transport.isConnected()){
- transport.close();
- }
- }
- }
- public static void setMsg(String toMail, String title, String content)throws MessagingException {
- Properties props = new Properties();
- props.put("mail.smtp.host", "smtp.163.com");
- props.put("mail.smtp.auth", "true");
- Session s = Session.getInstance(props);
- s.setDebug(true);
- MimeMessage message = new MimeMessage(s);
- Transport transport = null;
- try {
- InternetAddress from = new InternetAddress("xxx@163.com");
- message.setFrom(from);
- InternetAddress to = new InternetAddress(toMail);
- message.setRecipient(Message.RecipientType.TO, to);
- message.setSubject(title);
- message.setText(content);
- message.setSentDate(new Date());
- message.saveChanges();
- transport = s.getTransport("smtp");
- transport.connect("smtp.163.com", "xxx", "xxx");
- transport.sendMessage(message, message.getAllRecipients());
- transport.close();
- } catch (AddressException e) {
- e.printStackTrace();
- Loggers.error("发送邮件错误:SendMail--setMsg--AddressException:" + e);
- } catch (MessagingException e) {
- e.printStackTrace();
- Loggers.error("发送邮件错误:SendMail--setMsg--MessagingException:" + e);
- } finally {
- if (transport != null & transport.isConnected()) {
- transport.close();
- }
- }
- }
- public static void main(String[] args){
- try {
- SendMail.setMessageWithAuthentica("您的邮箱", "您的密码", "对方邮箱", "邮件内容", "邮件标题", "服务器地址");
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
- import javax.mail.Authenticator;
- import javax.mail.PasswordAuthentication;
- public class PopupAuthenticator extends Authenticator {
- private String uname;//用户名
- private String password;//密码
- //属性方法
- public String getUname() {
- return uname;
- }
- public void setUname(String uname) {
- this.uname = uname;
- }
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- //构造方法
- public PopupAuthenticator() {
- }
- public PopupAuthenticator(String uname, String password) {
- this.uname = uname;
- this.password = password;
- }
- public PasswordAuthentication getPasswordAuthentication() {
- String username = uname; //邮箱登录帐号
- String pwd = password; //登录密码
- return new PasswordAuthentication(username, pwd);
- }
- }
- import java.io.UnsupportedEncodingException;
- import java.util.Date;
- import java.util.Properties;
- import javax.mail.Address;
- import javax.mail.Message;
- import javax.mail.MessagingException;
- import javax.mail.Session;
- import javax.mail.Transport;
- import javax.mail.internet.AddressException;
- import javax.mail.internet.InternetAddress;
- import javax.mail.internet.MimeMessage;
- /**
- * 邮件发送
- */
- public class SendMail {
- /**
- * 不需要验证的邮件发送
- * String fromMail 发件人地址
- * String password 发件人密码
- * String toMail 收件人地址
- * String messageText 发送的消息
- * String title 发送的标题
- * String serviceName 使用的邮件服务器
- * @throws Exception
- */
- public static void setMessage(String fromMail, String toMail,
- String messageText, String serviceName) throws Exception {
- Properties props = System.getProperties();
- props.put("mail.smtp.host", serviceName); //设置smtp的服务器地址:该邮件服务器不需要身份验证
- props.put("mail.smtp.auth", "false"); //设置smtp服务器要身份验证:缺省设置为false
- Address from = new InternetAddress(fromMail);
- Address to = new InternetAddress(toMail);
- Session session = Session.getDefaultInstance(props, null);
- Message message = new MimeMessage(session);
- message.setFrom(from);
- message.addRecipient(Message.RecipientType.TO, to);
- message.setText(messageText);
- Transport.send(message);
- }
- /**
- * 带授权的发送邮件
- * String fromMail 发件人地址
- * String password 发件人密码
- * String toMail 收件人地址
- * String messageText 发送的消息
- * String title 发送的标题
- * String serviceName 使用的邮件服务器
- * @throws Exception
- */
- public static void setMessageWithAuthentica(String fromMail,String password,String toMail,String messageText,String title,String serviceName) throws Exception{
- Properties props = new Properties();
- props.put("mail.smtp.host",serviceName); //设置smtp的服务器地址是smtp.sohu.com
- props.put("mail.transport.protocol", "smtp");
- props.put("mail.smtp.auth","true"); //设置smtp服务器要身份验证。
- String formMailName=fromMail.split("@")[0];
- String toMailName=toMail.split("@")[0];
- PopupAuthenticator auth = new PopupAuthenticator(formMailName,fromMail);
- Session session = Session.getDefaultInstance(props,auth);
- session.setDebug(true);
- // 发送人地址
- Transport transport = null;
- try {
- Address addressFrom = new InternetAddress(fromMail, formMailName);
- // 收件人地址
- Address[] addressTo =new Address[]{new InternetAddress(toMail, toMailName)};
- // 抄送地址
- // Address addressCopy = new InternetAddress("xxx@gmail.com", "xxx密码");
- Message message = new MimeMessage(session);
- message.setText(messageText);
- message.setSubject(title);
- message.setFrom(addressFrom);
- message.addRecipients(Message.RecipientType.TO,addressTo);
- // message.addRecipient(Message.RecipientType.CC,addressCopy);
- message.saveChanges();
- // session.setDebug(true);
- transport = session.getTransport("smtp"); //创建连接
- transport.connect(serviceName, fromMail, password);//连接服务器
- transport.sendMessage(message, addressTo); //发送信息
- transport.close(); //关闭连接
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- Loggers.error("发送邮件错误:SendMail--setMessageWithAuthentica--UnsupportedEncodingException:"+e);
- } catch (MessagingException e) {
- e.printStackTrace();
- Loggers.error("发送邮件错误:SendMail--setMessageWithAuthentica--MessagingException"+e);
- } finally {
- if(transport != null & transport.isConnected()){
- transport.close();
- }
- }
- }
- public static void setMsg(String toMail, String title, String content)throws MessagingException {
- Properties props = new Properties();
- props.put("mail.smtp.host", "smtp.163.com");
- props.put("mail.smtp.auth", "true");
- Session s = Session.getInstance(props);
- s.setDebug(true);
- MimeMessage message = new MimeMessage(s);
- Transport transport = null;
- try {
- InternetAddress from = new InternetAddress("xxx@163.com");
- message.setFrom(from);
- InternetAddress to = new InternetAddress(toMail);
- message.setRecipient(Message.RecipientType.TO, to);
- message.setSubject(title);
- message.setText(content);
- message.setSentDate(new Date());
- message.saveChanges();
- transport = s.getTransport("smtp");
- transport.connect("smtp.163.com", "xxx", "xxx");
- transport.sendMessage(message, message.getAllRecipients());
- transport.close();
- } catch (AddressException e) {
- e.printStackTrace();
- Loggers.error("发送邮件错误:SendMail--setMsg--AddressException:" + e);
- } catch (MessagingException e) {
- e.printStackTrace();
- Loggers.error("发送邮件错误:SendMail--setMsg--MessagingException:" + e);
- } finally {
- if (transport != null & transport.isConnected()) {
- transport.close();
- }
- }
- }
- public static void main(String[] args){
- try {
- SendMail.setMessageWithAuthentica("您的邮箱", "您的密码", "对方邮箱", "邮件内容", "邮件标题", "服务器地址");
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
- import javax.mail.Authenticator;
- import javax.mail.PasswordAuthentication;
- public class PopupAuthenticator extends Authenticator {
- private String uname;//用户名
- private String password;//密码
- //属性方法
- public String getUname() {
- return uname;
- }
- public void setUname(String uname) {
- this.uname = uname;
- }
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- //构造方法
- public PopupAuthenticator() {
- }
- public PopupAuthenticator(String uname, String password) {
- this.uname = uname;
- this.password = password;
- }
- public PasswordAuthentication getPasswordAuthentication() {
- String username = uname; //邮箱登录帐号
- String pwd = password; //登录密码
- return new PasswordAuthentication(username, pwd);
- }
- }