使用javaMail发送邮件
1、邮件组织结构相关的API
MimeMessage类表示整封邮件。
MimeBodyPart类表示邮件的一个MIME消息。
MimeMultipart类表示一个由多个MIME消息组合成的组合MIME消息。
2、使用JavaMail API收发邮件
javaMail API按其功能划分通常可分为如下三大类:
创建和解析邮件内容的API :
Message类是创建和解析邮件的核心API,它的实例对象代表一封电子邮件。
发送邮件的API:
Transport类是发送邮件的核心API类,它的实例对象代表实现了某个邮件发送协议的邮件发送对象,例如SMTP协议。
接收邮件的API:
Store类是接收邮件的核心API类,它的实例对象代表实现了某个邮件接收协议的邮件接收对象,例如POP3协议。
(4)Session类
Session类用于定义整个应用程序所需的环境信息,以及收集客户端与邮件服务器建立网络连接的会话信息,如邮件服务器的主机名、端口号、采用的邮件发送和接收协议等。Session对象根据这些信息构建用于邮件收发的Transport和Store对象,以及为客户端创建Message对象时提供信息支持。
3、使用JavaMail发送一封简单的邮件:
创建包含邮件服务器的网络连接信息的Session对象。
创建代表邮件内容的Message对象。
创建Transport对象、连接服务器、发送Message、关闭连接。
public class SendMail {
/**
* 使用 xx@sohu.com 给yy@sina.com 发送一份邮件
* */
public static void main(String[] args) {
//1、创建邮件
//属性文件
Properties props = new Properties();
/**设置邮件的发送主机名,发送协议 ,是否验证*/
props.setProperty("mail.host", "smtp.sohu.com");
props.setProperty("mail.transport.protocol", "smtp");
props.setProperty("mail.smtp.auth", "true");
//获取发送接收邮件环境的对象
Session session = Session.getInstance(props);
Message message = createMessage(session);
try {
//创建发送邮件的对象
Transport tsp = session.getTransport();
tsp.connect("redarmycsdn", "redarmycsdn");
tsp.sendMessage(message, message.getAllRecipients());
tsp.close();
} catch (NoSuchProviderException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (AddressException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//根据环境对象创建一份邮件
public static Message createMessage(Session session){
MimeMessage message = new MimeMessage(session);
try {
//2、设置邮件属性
message.setFrom(new InternetAddress("redarmycsdn@sohu.com"));
message.setRecipient(Message.RecipientType.TO, new InternetAddress("redarmycsdn@sina.com"));
message.setSubject("网络发送成功否?");
//3、创建邮件体
MimeBodyPart text = new MimeBodyPart();
text.setText("xxxxxxxxxxxxxx", "utf8");
//4、设置描述关系
MimeMultipart mm = new MimeMultipart();
mm.addBodyPart(text);
message.setContent(mm);
message.saveChanges();
} catch(Exception e) {
e.printStackTrace();
}
return message;
}
}
分享到:
相关推荐
使用JAVAMail代发邮件 资源源于不但搜索,自由源于不但努力
此源码是使用javamail发送邮件,可以实现静默发送邮件,可以发送附件资源等。有相应的使用说明,快捷好用
java使用javaMail发送邮件,包含项目源文件及jar包。
android使用javamail发送邮件jar包,可以直接导入到Android studio使用
JAVA100例之实例47 使用javamail发送邮件
Spring Use JavaMail SendEmail(spring使用javamail发送邮件的例子)
使用JavaMail发送邮件,可以发送附件,邮件的内容也可以是html格式的。在工作中做的小demo
Android中使用JavaMail发送电子邮件
使用javamail发送邮件,使用springboot打包jar,可java -jar mail.jar执行测试
请自行设置邮箱密码,账号,以及对应的SERVERHOST。这是摘抄自别人的,感谢作者。
资源包括邮件的发送、邮件的接收、查看邮件总数量和未读邮件数以及查看未读邮件并标记已读,还有我自己编写的简单的文档。希望能帮助需要帮助的筒子们
javaMail发送邮件 发送成功 收不到邮件 或收到邮件无主题无收件人乱码 查看debug 邮件处理过程发现邮件头没有编译, 内容是base64编码,所以邮箱收不到或者收到的是base64编码后的一堆乱码,
所需jar包 博文链接:https://jdh.iteye.com/blog/206366