用javamail实现一个简单的邮件发送

来源:互联网 发布:mac mail 设置模板 编辑:程序博客网 时间:2024/05/29 07:20

导入两个jar包:activation.jar 和mail.jar

package cn.lfd.mail;import java.util.Properties;import javax.activation.DataHandler;import javax.activation.FileDataSource;import javax.mail.Message;import javax.mail.MessagingException;import javax.mail.NoSuchProviderException;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 SendMail {/** * 发送一条邮件 */public static void main(String[] args) throws Exception {Properties pro = new Properties();pro.setProperty("mail.host", "smtp.163.com");//主机名pro.setProperty("mail.transport.protocol", "smtp");//协议号pro.setProperty("mail.smtp.auth", "true");//是否验证登录Session session = Session.getInstance(pro);session.setDebug(true);//开发模式  打印出运行状态//通过session得到TransportTransport ts = session.getTransport();//连接到服务器ts.connect("smtp.163.com", "18770913843", "lfdlovehtzyy000");//创建一条邮件Message message = makeMessage(session);ts.sendMessage(message, message.getAllRecipients());//把邮件发送出去ts.close();//关闭连接}public static Message makeMessage(Session session) throws Exception, MessagingException {MimeMessage message = new MimeMessage(session);//准备邮件的基本信息message.setFrom(new InternetAddress("18770913843@163.com"));//邮件发送人message.setRecipient(Message.RecipientType.TO, new InternetAddress("343468193@qq.com"));//邮件接收人message.setSubject("美女图");//邮件主题MimeBodyPart text = new MimeBodyPart();text.setContent("----------<br><img src=\"cid:action\">","text/html;charset=utf-8");  //图片数据MimeBodyPart image = new MimeBodyPart();DataHandler dh = new DataHandler(new FileDataSource("src\\1.jpg"));image.setDataHandler(dh);image.setContentID("action");//和html链接的cid一致  //image.setFileName(MimeUtility.encodeText(dh.getName()));encodeText解决附件名中文乱码MimeMultipart mp = new MimeMultipart();mp.addBodyPart(text);//把文字和图片这两个BodyPart放到MimeMultipart容器里mp.addBodyPart(image);mp.setSubType("related");//设置正文与图片的关系为related,若有附件,则附件与正文的关系为mixedmessage.setContent(mp);//把mp这个容器加到MimeMessagemessage.saveChanges();return message;}}

0 0
原创粉丝点击