java邮件发送

原创 2016年08月28日 20:11:12

1.sendEmail方式

</pre><pre name="code" class="java"><pre name="code" class="java">import java.security.Security;
import java.util.Date;
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.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class sendEmail
{
	public static void main(String[] args) throws AddressException,
			MessagingException
	{
		String SEND_USER = "135xxxx@163.com";
		String SEND_UNAME = "135xxxx";
		String SEND_PWD = "abcabc";//密码
		String VALUE_SMTP = "smtp.163.com";
		// Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
		// final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
		// Get a Properties object
		Properties props = System.getProperties();
		// props.setProperty("mail.smtp.host", "smtp.gmail.com");
		props.setProperty("mail.smtp.host", "smtp.163.com");
		// props.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY);
		// props.setProperty("mail.smtp.socketFactory.fallback", "false");
		props.setProperty("mail.smtp.port", "25");
		// props.setProperty("mail.smtp.port", "587");
		// props.setProperty("mail.smtp.socketFactory.port", "25");
		// props.setProperty("mail.smtp.socketFactory.port", "587");
		props.put("mail.smtp.auth", "true");
		final String username = "135xxxx";
		final String password = "abcabc";
		Session session = Session.getDefaultInstance(props,
				new Authenticator() {
					protected PasswordAuthentication getPasswordAuthentication()
					{
						return new PasswordAuthentication(username, password);
					}
				});

		// -- Create a new message --
		session.setDebug(true);
		Message msg = new MimeMessage(session);

		// -- Set the FROM and TO fields --
		msg.setFrom(new InternetAddress(username + "@163.com"));
		msg.setRecipients(Message.RecipientType.TO,
				InternetAddress.parse("135xxxx@163.com", false));
		msg.setSubject("Hello---");
		msg.setText("How are you");
		msg.setSentDate(new Date());
		Transport transport = session.getTransport("smtp");
		// smtp验证,就是你用来发邮件的邮箱用户名密码
		transport.connect(VALUE_SMTP, SEND_UNAME, SEND_PWD);
		// 发送
		transport.sendMessage(msg, msg.getAllRecipients());
		Transport.send(msg);
		transport.close();

		System.out.println("Message sent.");
	}
}



2.SendmailUtil方式
</pre><pre name="code" class="java">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.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;


public class SendmailUtil
{

	// 设置服务器
    private static String KEY_SMTP = "mail.smtp.host";
    private static String VALUE_SMTP = "smtp.163.com";
    // 服务器验证
    private static String KEY_PROPS = "mail.smtp.auth";
    private static boolean VALUE_PROPS = true;
    // 发件人用户名、密码
    private String SEND_USER = "13xxxx@163.com";
    private String SEND_UNAME = "<span style="font-family: Arial, Helvetica, sans-serif;">13xxxx</span><span style="font-family: Arial, Helvetica, sans-serif;">";</span>
    private String SEND_PWD = "abcabc";
    // 建立会话
    private MimeMessage message;
    private Session s;
 
    /*
     * 初始化方法
     */
    public SendmailUtil() {
        Properties props = System.getProperties();
        props.setProperty(KEY_SMTP, VALUE_SMTP);
        props.put(KEY_PROPS, "true");
        //props.put("mail.smtp.auth", "true");
        s =  Session.getDefaultInstance(props, new Authenticator(){
              protected PasswordAuthentication getPasswordAuthentication() {
                  return new PasswordAuthentication(SEND_UNAME, SEND_PWD);
              }});
        s.setDebug(true);
        message = new MimeMessage(s);
    }
 
    /**
     * 发送邮件
     * 
     * @param headName
     *            邮件头文件名
     * @param sendHtml
     *            邮件内容
     * @param receiveUser
     *            收件人地址
     */
    public void doSendHtmlEmail(String headName, String sendHtml,
            String receiveUser) {
        try {
            // 发件人
            InternetAddress from = new InternetAddress(SEND_USER);
            message.setFrom(from);
            // 收件人
            InternetAddress to = new InternetAddress(receiveUser);
            message.setRecipient(Message.RecipientType.TO, to);
            // 邮件标题
            message.setSubject(headName);
            String content = sendHtml.toString();
            // 邮件内容,也可以使纯文本"text/plain"
            message.setContent(content, "text/html;charset=GBK");
            message.saveChanges();
            Transport transport = s.getTransport("smtp");
            // smtp验证,就是你用来发邮件的邮箱用户名密码
            transport.connect(VALUE_SMTP, SEND_UNAME, SEND_PWD);
            // 发送
            transport.sendMessage(message, message.getAllRecipients());
            transport.close();
            System.out.println("send success!");
        } catch (AddressException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (MessagingException e) {
            e.printStackTrace();
        }
    }
 
    public static void main(String[] args) {
        SendmailUtil se = new SendmailUtil();
        se.doSendHtmlEmail("邮件头文件名", "邮件内容", "186xxxx@163.com");
    }
}

ps: 163邮箱有安全限制,需要登陆邮箱之后在“设置”里开启并使用授权码代替邮箱的登陆密码。



版权声明:本文为博主原创文章,未经博主允许不得转载。

java邮件发送源码

  • 2017年11月17日 23:00
  • 247KB
  • 下载

java邮件发送Demo

  • 2017年10月30日 15:12
  • 616KB
  • 下载

java 文件的加密压缩 和邮件发送

文件的加密压缩部分,推荐使用zip4j包,非常好用。 package util;import java.io.File; import java.io.FileOutputStream; import...

Java 电子邮件发送

  • 2015年06月09日 10:54
  • 5KB
  • 下载

java 邮件发送工具类

java 邮件发送 工具类

java编写的邮件发送

  • 2015年03月06日 11:24
  • 1.06MB
  • 下载

java邮件发送

  • 2014年10月16日 15:39
  • 5KB
  • 下载

JAVA邮件发送(文字+图片+附件)【源码】

介绍:  电子邮件协议 电子邮件的在网络中传输和网页一样需要遵从特定的协议,常用的电子邮件协议包括 SMTP,POP3,IMAP。其中邮件的创建和发送只需要用到 SMTP协议,所有本文也只会涉及到SM...

java邮件发送包

  • 2013年12月17日 00:28
  • 475KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java邮件发送
举报原因:
原因补充:

(最多只允许输入30个字)