java邮件开发-----生成本地纯文本邮件eml格式文件

javaMail中除了可以通过Transport.connect(host,user,password)方法连接smtp服务器时直接传递用户认证信息,还可以借助Authenticatorl类获得用户认证信息。

Authenticator类用于代表一个可以对外提供用户认证信息的对象,它提供的用户认证信息封装在一个PasswordAuthentication类型的对象中。调用getInstance(java.util.Properties props,Authenticator authenticator)方法创建Session对象时,将把作为第二个参数传入的Authenticator对象注册到该Session对象中。以后,使用这个Session对象的javaMail客户端程序要向邮件服务器提交认证信息时,将调用改Session对象中注册的Authenticator对象,从中获得用户认证信息后传递给邮件服务器。

提前导入javamail.jar   和JAF  两个包

import java.util.Date;

import java.util.Properties;

import javax.mail.Message;

import javax.mail.MessagingException;

import javax.mail.Session;

import javax.mail.internet.AddressException;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeMessage;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

public class TextMessage {

public static void main(String[] args) throws AddressException, MessagingException, FileNotFoundException, IOException {

// TODO Auto-generated method stub

String from = "XXXXXXx@sina.com";

String to = "XXXXXXXX@qq.com";

String subject = "test";

String body = "test!!!";

//创建Session实例对象

Session session = Session.getDefaultInstance(new Properties());

//创建MimeMessage实例对象

MimeMessage msg = new MimeMessage(session);

//设置发件人

msg.setFrom(new InternetAddress(from));

//设置收件人

msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to));

//设置发送日期

msg.setSentDate(new Date());

//设置邮件主题

msg.setSubject(subject);

//设置纯文本内容的邮件正文

msg.setText(body);

//保存并生成最终的邮件内容

msg.saveChanges();

//把MimeMessage 对象中的内容写入到文件中

msg.writeTo(new FileOutputStream("D:\\Eclipse\\test.eml"));

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容