利用java mail发送邮件

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

import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.PasswordAuthentication;
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 demo {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
         Properties props = new Properties();
            props.put("mail.smtp.host","smtp.qq.com");
            props.put("mail.smtp.auth", "true"); // 指定是否需要SMTP验证

            Session session = Session.getDefaultInstance(props
                    //以匿名内部类的形式创建登录服务器的认证对象
                    , new Authenticator()
                    {
                        public PasswordAuthentication getPasswordAuthentication()
                        {
                            return new PasswordAuthentication("717608039@qq.com","justdoit@qq"); 
                        }
                    });


            try {
                MimeMessage msg = new MimeMessage(session);
                msg.setFrom("717608039@qq.com");
                msg.setSubject("JavaMail hello world example");
                msg.setSentDate(new Date());
                InternetAddress[] addresses = {new InternetAddress("289495433@qq.com")};
                msg.setRecipients(Message.RecipientType.TO , addresses);
                msg.setText("Hello, world!
");
                Multipart mp = new MimeMultipart();
                //向Multipart添加正文
                MimeBodyPart mbpContent = new MimeBodyPart();
                mbpContent.setText("hello");
                //将BodyPart添加到MultiPart中
                mp.addBodyPart(mbpContent);
                MimeBodyPart mbpFile = new MimeBodyPart();
                //以文件名创建FileDataSource对象
                FileDataSource fds = new FileDataSource("D://002.jpg");
                //处理附件
                mbpFile.setDataHandler(new DataHandler(fds));
                mbpFile.setFileName(fds.getName());
                //将BodyPart添加到MultiPart中
                mp.addBodyPart(mbpFile);
                msg.setContent(mp);
                Transport.send(msg);
            } catch (MessagingException mex) {
                System.out.println("send failed, exception: " + mex);
            }




    }

}
原文地址:https://www.cnblogs.com/mrcharles/p/11879917.html