-
java 带文件的 邮件发送
添加时间:2013-5-10 点击量:带文件上传的简单邮件发送案例,这个案例还得导入mail.jar包,这个可以去百度上download一个.
此中要重视的是:
①:name-->只是个名字,不要带上@什么的,
②:smtp的地址:QQ邮箱-->smtp.qq.com
163邮箱-->smtp.163.com
126邮箱-->smtp.126.com
yeah邮箱-->smtp.yeah.net
即:smtpServer参数
package com.email;
import javax.mail.;
import javax.mail.internet.;
import java.util.;
import javax.activation.;
public class BaseMail {
private int count=1;
Transport transport=null;
/ 发送邮件
@param smtp办事器 例:smtp.exmail.qq.com
@param 用户名
@param 暗码
@param 发件人邮箱地址
@param 收信人邮箱地址
@param 邮件题目
@param 邮件正文
@param 附件地址
/
public boolean sendMail(String smtpServer, String name, String password, String meMail, String toMail, String mailTitle, String mailText String fileName ) {
long begin=System.currentTimeMillis();
Properties props = System.getProperties(); // 设置smtp办事器
props.setProperty(mail.smtp.host, smtpServer); // 如今的大项目组smpt都须要验证了
props.put(mail.smtp.auth, true);
Session s = Session.getInstance(props); // 为了查看运行时的信息
// 由邮件会话新建一个消息对象
MimeMessage message = new MimeMessage(s);
try {
// 发件人
InternetAddress = new InternetAddress(meMail);
message.setFrom();
// 收件人
InternetAddress to = new InternetAddress(toMail);
message.setRecipient(Message.RecipientType.TO, to);
// 邮件题目
message.setSubject(mailTitle);
// String content = 测试内容;
// 邮件内容,也可以使纯文本text/plain
// message.setContent(content, text/html;charset=GBK);
// 下面代码是发送附件
// String fileName = d://hello.txt;
MimeBodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setText(mailText);
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
messageBodyPart = new MimeBodyPart();
//上传文件
if (null != fileName) {
DataSource source = new FileDataSource(fileName);
messageBodyPart.setDataHandler(new DataHandler(source));
messageBodyPart.setFileName(fileName.substring(fileName.lastIndexOf(/)+1));
multipart.addBodyPart(messageBodyPart);
}
message.setContent(multipart);
message.saveChanges(); transport = s.getTransport(smtp); // smtp验证,就是你用来发邮件的邮箱用户名暗码
transport.connect(smtpServer, name, password); // 发送
transport.sendMessage(message, message.getAllRecipients());
return true;
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
transport.close();
} catch (MessagingException e) {
e.printStackTrace();
}
}
return false;
}
public static void main(String[] args) {
BaseMail mail = new BaseMail();
mail.sendMail(smtp.yeah.net, 12345, password, 12345@yeah.net, 接管人的邮件地址, 题目, 内容,文件地址); }
}
我们永远不要期待别人的拯救,只有自己才能升华自己。自己已准备好了多少容量,方能吸引对等的人与我们相遇,否则再美好的人出现、再动人的事情降临身边,我们也没有能量去理解与珍惜,终将擦肩而过。—— 姚谦《品味》