给sohu到yahoo的那封邮件
1. MailSenderInfoAndReciver类, 存放邮件发送者,发送内容,和接受者信息
package yinbodotcc.mailtest;
import java.util.Properties;
public class MailSenderInfoAndReciver
{
// 发送邮件的服务器的IP和端口
private String mailServerHost;
private String mailServerPort = "25";
// 邮件发送者的地址
private String fromAddress;
// 登陆邮件发送服务器的用户名和密码
private String userName;
private String password;
// 邮件接收者的地址
private String toAddress;
// 邮件主题
private String subject;
// 邮件的文本内容
private String content;
// 邮件附件的文件名
private String[] attachFileNames;
// 是否需要身份验证
private boolean validate = false;
/** *//**
* 获得邮件会话属性
*/
public Properties getProperties()
{
Properties p = new Properties();
p.put("mail.smtp.host", this.mailServerHost);
p.put("mail.smtp.port", this.mailServerPort);
p.put("mail.smtp.auth", validate ? "true" : "false");
return p;
}
public String getMailServerHost() {
return mailServerHost;
}
public void setMailServerHost(String mailServerHost) {
this.mailServerHost = mailServerHost;
}
public String getMailServerPort() {
return mailServerPort;
}
public void setMailServerPort(String mailServerPort) {
this.mailServerPort = mailServerPort;
}
public boolean isValidate() {
return validate;
}
public void setValidate(boolean validate) {
this.validate = validate;
}
public String[] getAttachFileNames() {
return attachFileNames;
}
public void setAttachFileNames(String[] fileNames) {
this.attachFileNames = fileNames;
}
public String getFromAddress() {
return fromAddress;
}
public void setFromAddress(String fromAddress) {
this.fromAddress = fromAddress;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getToAddress() {
return toAddress;
}
public void setToAddress(String toAddress) {
this.toAddress = toAddress;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getContent() {
return content;
}
public void setContent(String textContent) {
this.content = textContent;
}
}
2. 发送邮件 MailSender
package yinbodotcc.mailtest;
import java.util.Date;
import java.util.Properties;
import javax.mail.Address;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
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;
/** *//**
* 简单邮件(不带附件的邮件)发送器
http://www.bt285.cn BT下载
*/
public class MailSender {
/** *//**
* 以文本格式发送邮件
* @param mailInfo 待发送的邮件的信息
*/
public boolean sendTextMail(MailSenderInfoAndReciver mailInfo) {
// 判断是否需要身份认证
UserAndPWD authenticator = null;
Properties pro = mailInfo.getProperties();
if (mailInfo.isValidate()) {
// 如果需要身份认证,则创建一个密码验证器
authenticator = new UserAndPWD(mailInfo.getUserName(), mailInfo.getPassword());
}
// 根据邮件会话属性和密码验证器构造一个发送邮件的session
Session sendMailSession = Session.getDefaultInstance(pro,authenticator);
try {
// 根据session创建一个邮件消息
Message mailMessage = new MimeMessage(sendMailSession);
// 创建邮件发送者地址
Address from = new InternetAddress(mailInfo.getFromAddress());
// 设置邮件消息的发送者
mailMessage.setFrom(from);
// 创建邮件的接收者地址,并设置到邮件消息中
Address to = new InternetAddress(mailInfo.getToAddress());
mailMessage.setRecipient(Message.RecipientType.TO,to);
// 设置邮件消息的主题
mailMessage.setSubject(mailInfo.getSubject());
// 设置邮件消息发送的时间
mailMessage.setSentDate(new Date());
// 设置邮件消息的主要内容
String mailContent = mailInfo.getContent();
mailMessage.setText(mailContent);
// 发送邮件
Transport.send(mailMessage);
return true;
} catch (MessagingException ex) {
ex.printStackTrace();
}
return false;
}
/** *//**
* 以HTML格式发送邮件
* @param mailInfo 待发送的邮件信息
*/
public static boolean sendHtmlMail(MailSenderInfoAndReciver mailInfo){
// 判断是否需要身份认证
UserAndPWD authenticator = null;
Properties pro = mailInfo.getProperties();
//如果需要身份认证,则创建一个密码验证器
if (mailInfo.isValidate()) {
authenticator = new UserAndPWD(mailInfo.getUserName(), mailInfo.getPassword());
}
// 根据邮件会话属性和密码验证器构造一个发送邮件的session
Session sendMailSession = Session.getDefaultInstance(pro,authenticator);
try {
// 根据session创建一个邮件消息
Message mailMessage = new MimeMessage(sendMailSession);
// 创建邮件发送者地址
Address from = new InternetAddress(mailInfo.getFromAddress());
// 设置邮件消息的发送者
mailMessage.setFrom(from);
// 创建邮件的接收者地址,并设置到邮件消息中
Address to = new InternetAddress(mailInfo.getToAddress());
// Message.RecipientType.TO属性表示接收者的类型为TO
mailMessage.setRecipient(Message.RecipientType.TO,to);
// 设置邮件消息的主题
mailMessage.setSubject(mailInfo.getSubject());
// 设置邮件消息发送的时间
mailMessage.setSentDate(new Date());
// MiniMultipart类是一个容器类,包含MimeBodyPart类型的对象
Multipart mainPart = new MimeMultipart();
// 创建一个包含HTML内容的MimeBodyPart
BodyPart html = new MimeBodyPart();
// 设置HTML内容
html.setContent(mailInfo.getContent(), "text/html; charset=utf-8");
mainPart.addBodyPart(html);
// 将MiniMultipart对象设置为邮件内容
mailMessage.setContent(mainPart);
// 发送邮件
Transport.send(mailMessage);
return true;
} catch (MessagingException ex) {
ex.printStackTrace();
}
return false;
}
}
3. UserAndPWD 用户和密码信息
package yinbodotcc.mailtest;
import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;
public class UserAndPWD extends Authenticator
{
String user=null;
String pwd=null;
public UserAndPWD()
{
}
public UserAndPWD(String username, String password)
{
this.user = username;
this.pwd = password;
}
protected PasswordAuthentication getPasswordAuthentication()
{
return new PasswordAuthentication(user, pwd);
}
}
4. 测试程序 MainTest
package yinbodotcc.mailtest;
public class MainTest
{
public static void main(String[] args)
{
//这个类主要是设置邮件
MailSenderInfoAndReciver mailInfo = new MailSenderInfoAndReciver();
mailInfo.setMailServerHost("smtp.sohu.com");
mailInfo.setMailServerPort("25");
mailInfo.setValidate(true);
mailInfo.setUserName("300");
mailInfo.setPassword("搜狐我的口令");
mailInfo.setFromAddress("300@sohu.com");
mailInfo.setToAddress("yinbodotcc@yahoo.com.cn");
mailInfo.setSubject("yay");
mailInfo.setContent("test");
//这个类主要来发送邮件
MailSender sms = new MailSender();
sms.sendTextMail(mailInfo);
}
}
给sohu到yahoo的那封邮件相关推荐
- C、C++、C#的区别与联系
原 C, C++,C#的区别与联系 2016年10月23日 20:41:14 杨晓慧-Hepburn 阅读数 2447 ...
- 用yahoo邮箱收企业邮箱的邮件
同事说公司的邮箱太小了,有些邮件又有用不能删,删也很麻烦今天在设置foxmail收yahoo邮箱的邮件时发现yahoo邮箱可以收其他邮件服务器的邮件,所以尝试了一下,下面将设置方法与大家分享: 1.当 ...
- 使用javaMail收邮件 支持附件下载
http://haohaoxuexi.iteye.com/blog/1162044 使用javaMail收邮件主要有两种协议,一种是pop3,一种是imap.这两种协议都可以用来收邮件,但是在其中的处 ...
- 常用邮件服务器名(POP3,SMTP地址)
国内常用免费邮件POP3和SMTP设置邮箱Foxmial ,Outlook等客户端设置网易邮箱 POP3 和 SMTP 服务器地址设置如下:邮箱 POP3 服务器(端口110) SMTP 服务器(端口 ...
- 邮件附件att00.html,我的网易163邮箱收到的邮件里有个这样的附件ATT00002.bin打不开,到底是什么?...
我的网易163邮箱收到的邮件里有个这样的附件ATT00002.bin打不开,到底是什么?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一 ...
- 国内常用免费邮件POP3和SMTP设置
国内常用免费邮件POP3和SMTP设置邮箱Foxmial ,Outlook等客户端设置网易邮箱 POP3 和 SMTP 服务器地址设置如下:邮箱 POP3 服务器(端口110) SMTP 服务器(端口 ...
- Nagios借助yahoo.cn邮箱实现手机短信报警功能
Nagios借助yahoo.cn邮箱实现手机短信报警功能<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:offic ...
- java imap 标记已读,JavaMail通过IMAP和POP3接收未读以及设置已读邮件
JavaMail通过IMAP和POP3接收未读以及设置已读邮件 博客分类: javamail javamailpop3imap 使用javaMail收邮件主要有两种协议,一种是pop3,一种是imap ...
- linux服务器搭建_基于LINUX系统的邮件服务器搭建和详细部署(POSTFIX)
linux master调度所有的程序: master-->pickup/cleanup-->rewrite..... /etc/postfix/master.cf # ls /etc/p ...
最新文章
- 文本在计算机中的编码表示方法,计算机中数字、文字、图像、声音和视频的表示与编码...
- C 函数别名简单记录
- 注意,ruby循环体定义的变量在结束时后,变量还存在
- 读卡距离和信号强度两方面来考虑
- led灯条串联图_液晶电视维修:LED灯光电路原理,电路图原理分析?
- Netty工作笔记0024---SelectionKey API
- linux下多版本opencv共存问题
- 预告 | 大咖Live X 数字绿土 CTO 赵宝林:高精度地图上车之路究竟还有多远?
- Python实现多变量序列堆叠式LSTM模型,并实现未来多时刻预测
- hadoop中java部分练习_java私塾Hadoop实战-中高级部分 之 Hadoop RestFul
- NB-IOT平台之电信平台FOTA 升级记录
- QQ桌球瞄准器开发(6)(7) 完结篇
- ubuntu 局域网连接
- 各种主流浏览器内核引擎的对比分析
- linux mount error(79): Can not access a needed shared library
- matplotlib的cmap
- 微信公众号的缩略图/封面图下载方法详细介绍
- Python爬虫---爬虫介绍,实战案例
- 三线表里加小短线_APA格式报告.doc
- SSD行业梳理之SSD主控芯片(转)
热门文章
- android移植 开发板,Android在TQ2440开发板上的移植
- 如考华科计算机研究生调剂会到什么专业,2017年华中科技大学计算机学院考研调剂信息...
- 敏捷团队的病与药——阿里健康医药B2B团队敏捷转型手记...
- Linux命令之 --- mv命令
- 双十一数据被质疑?教你如何用Python预测未来趋势!
- 用dockerfile做一个apache的镜像
- MYSQL外键约束和表关联
- 如何用电脑反编译微信小程序,获得源码(学习用途)
- 读《复杂—诞生于秩序与混沌边缘的科学》
- 自动驾驶模拟软件Carla---环境搭建和编译