【Java开源代码栏目提醒】:本文主要为网学会员提供TextPropertiesSendMail.java,希望对需要TextPropertiesSendMail.java网友有所帮助,学习一下!
package com.zf.s8;//创建一个包
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
import java.util.*;
public class TextPropertiesSendMail {// 操作配置Properties文件发送带附件的邮件
private String host;// SMTP服务器地址
private String from;// 发件人地址
private String to;// 收件人地址
private String username;// 发送人名称
private String password;// 发送人密码
private String emailtitle;// 邮件标题
private String text;// 邮件内容
private List<FileDataSource> FileDataSources;// 附件
private String files;// 文件
public TextPropertiesSendMail() {// 默认构造方法初始化对象
FileDataSources = new ArrayList<FileDataSource>();
}
public boolean sendMail() throws Exception {// 发送邮件方法
try {
Properties props = new Properties();// 创建属性类
props.put("mail.smtp.host", getHost());// 设置SMTP服务器
props.put("mail.smtp.auth", "true"); // 通过验证
props.put("mail.mime.charset", "GBK");// 设置编码格式
Session session = Session.getDefaultInstance(props);// 根据属性文件创建会话
session.setDebug(true);// 设置Debug
MimeMessage message = new MimeMessage(session);// 创建邮件
message.setFrom(new InternetAddress(getFrom()));// 设置发件人地址
message.addRecipient(Message.RecipientType.TO, new InternetAddress(
getTo()));// 设置收件人地址
message.setSubject(getEmailtitle());// 设置邮件标题
int size = 0;
size = this.FileDataSources.size();// 获得附件个数
if (this.FileDataSources != null && size > 0) {// 判断是否有附件需要发送
MimeMultipart mm = new MimeMultipart();// 邮件载体
BodyPart bps = new MimeBodyPart();// 邮件内容体
bps.setContent(getText(), "text/html;charset=gb2312");// 设置邮件内容的显示方式
mm.addBodyPart(bps);// 载体添加内容体
for (int i = 0; i < size; i++) {
BodyPart bp = new MimeBodyPart();
DataHandler datahand = new DataHandler(this.FileDataSources
.get(i));
bp.setDataHandler(datahand);// 设置附件头信息
bp.setFileName(this.FileDataSources.get(i).getName());// 设置附件名称
mm.addBodyPart(bp);// 载体添加附件
}
message.setContent(mm);// 将载体添加到邮件中
} else {
message.setContent(getText(), "text/html;charset=gb2312");// 如果没有附件则直接添加邮件正文
}
message.saveChanges();// 保存
Transport transport = session.getTransport("smtp");// 设置发送方式为smtp
transport.connect(getHost(), getUsername(), getPassword());// 链接邮件主机
transport.sendMessage(message, message.getAllRecipients());// 发送
transport.close();// 关闭链接
} catch (Exception e) {// 捕获异常
System.out.println("发送邮件失败:" + e.getMessage());
System.out.println(0);
return false;
}
return true;
}
public static void main(String[] args) throws Exception {// java程序主入口处
TextPropertiesSendMail text = new TextPropertiesSendMail();// 实例化对象
String SMTP = "smtp.sina.com";// smtp服务器
String FROM = "
TextPropertiesSendMail.java为[网学网-网友上传,谢谢支持]。";// 发件人地址
String TO = "
TextPropertiesSendMail.java为[网学网-网友上传,谢谢支持]。";// 收件人地址
String USERNAME = "zf1315";//发件人用户名
String PASSWORD = "870306";//发件人密码
String TITLE = "A TEXT";//邮件标题
String CONTENT = "测试发送带附件的文件";//邮件内容
String DATASOURCES="F:\\123.rar,F:\\chuang.rar";//附件
text.setScheme(SMTP, TO, FROM, USERNAME, PASSWORD);//调用方法设置参数
text.setCarrier(TITLE, CONTENT);//调用方法设置标题和内容
text.setFileDataSources(DATASOURCES);// 加入附件
text.sendMail();// 最后一步发送
}
public String getHost() {
return host;
}
public void setHost(String aHost) {
host = aHost;
}
public String getFrom() {
return from;
}
public void setFrom(String aFrom) {
from = aFrom;
}
public String getTo() {
return to;
}
public void setTo(String aTo) {
to = aTo;
}
public String getUsername() {
return username;
}
public void setUsername(String aUsername) {
username = aUsername;
}
public String getPassword() {
return password;
}
public void setPassword(String aPassword) {
password = aPassword;
}
public String getEmailtitle() {
return emailtitle;
}
public void setEmailtitle(String aEmailtitle) {
emailtitle = aEmailtitle;
}
public String getText() {
return text;
}
public void setText(String aText) {
text = aText;
}
public List<FileDataSource> getFileDataSources() {
return FileDataSources;
}
public void setFileDataSources(String aFileDataSource) {
String[] str = aFileDataSource.split(",");
for (int i = 0; i < str.length; i++) {
FileDataSource temp = new FileDataSource(str[i]);
FileDataSources.add(temp);
}
}
public String getFiles() {
return files;
}
public void setFiles(String aFiles) {
files = aFiles;
}
public void setScheme(String host, String to, String from, String username,
String password) {
this.host = host;
this.to = to;
this.from = from;
this.username = username;
this.password = password;
}
public void setCarrier(String title, String text) {
this.emailtitle = title;
this.text = text;
}
}
上一篇:
TextProductAndConsume.java
下一篇:
让我掉下眼泪的