使用JavaMail API收发邮件

    技术2022-05-20  31

    使用JavaMail API收发邮件

    JavaMail API按其功能划分通常可分为如下三大类: 创建和解析邮件内容的API :Message类是创建和解析邮件的核心API,它的实例对象代表一封电子邮件。 发送邮件的API :Transport类是发送邮件的核心API类,它的实例对象代表实现了某个邮件发送协议的邮件发送对象,例如SMTP协议。 接收邮件的API :Store类是接收邮件的核心API类,它的实例对象代表实现了某个邮件接收协议的邮件接收对象,例如POP3协议。 Session类 Session类用于定义整个应用程序所需的环境信息,以及收集客户端与邮件服务器建立网络连接的会话信息,如邮件服务器的主机名、端口号、采用的邮件发送和接收协议等。Session对象根据这些信息构建用于邮件收发的Transport和Store对象,以及为客户端创建Message对象时提供信息支持。

    邮件发送程序 使用JavaMail发送一封简单的邮件: 1、创建包含邮件服务器的网络连接信息的Session对象。 2、创建代表邮件内容的Message对象。 3、创建Transport对象、连接服务器、发送Message、关闭连接。 下面以从csdn@sohu.com  给 1324117@sina.com 发一封带有图片的邮件为例,代码如下: public class SeendMail {  public static void main(String[] args) {   // 设置属性   Properties props = new Properties();   props.setProperty("mail.host", "smtp.sohu.com");   props.setProperty("mail.transport.protocol","smtp");   props.setProperty("mail.smtp.auth", "ture");      Session session=Session.getInstance(props);   Message message=CreatMessage(session);      try {    Transport trs=session.getTransport();    trs.connect("csdn", "csdn");    trs.sendMessage(message,message.getAllRecipients());    trs.close();   } catch (Exception e) {    e.printStackTrace();   }  }  //创建邮件  public static Message CreatMessage(Session session){   MimeMessage message=new MimeMessage(session);   try {    // 设置属性    message.setFrom(new InternetAddress("csdn@sohu.com"));    message.setRecipient(Message.RecipientType.TO, new InternetAddress("1324117@sina.com "));    message.setSubject("kxl");    //创建邮件体    MimeBodyPart text=new MimeBodyPart();    text.setContent("这有好多图片<br/><img src='cid:xx.jpg'><br/><img src='cid:yy.jpg'><br/>选一张吧", "text/html;charset=utf-8");    //设置图片    MimeBodyPart image=new MimeBodyPart();    image.setDataHandler(new DataHandler(new FileDataSource("src//f.jpg")));    image.setContentID("xx.jpg");        MimeBodyPart image1=new MimeBodyPart();    image1.setDataHandler(new DataHandler(new FileDataSource("src//x.jpg")));    image1.setContentID("yy.jpg");    //描述关系    //图片与正文的描述关系    MimeMultipart mm = new MimeMultipart();    mm.addBodyPart(text);    mm.addBodyPart(image);       mm.addBodyPart(image1);             mm.setSubType("related");          message.setContent(mm);    message.saveChanges();       } catch (Exception e) {    e.printStackTrace();   }   return message;  } }

     


    最新回复(0)