用mail.jar发送邮件(正解)
2010-12-28 16:12
141 查看
用mail.jar发送邮件
标签: 邮件 mail.jar 分类: java 2007-02-02 13:03
/**
*需要用到mail.jar和activation.jar
*前者需要下载
*后者一般在tomcat、jboss的目录下有
**/
package email;
import java.util.Properties;
import java.io.UnsupportedEncodingException;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class EmailSender {
private static final String defaultSMTPHost = "smtp.***.***";
private static final String defaultMailFromName = "***@***.***";
private static final String defaultMailFromPassword = "***";
public static int send(String mailTos, String mailSubject, String mailText) {
//check params
if (mailTos == null || mailSubject == null || mailText == null) return 0;
//encoding params
String encoding = "iso-8859-1";
try {
//标题不需要编码,编码后为乱码
//正文需要编码
mailText = new String(mailText.getBytes(), encoding);
} catch (UnsupportedEncodingException e) {
System.out.println("Fail to encoding mail text to " + encoding);
}
Properties props = new Properties();
props.put("mail.smtp.host", defaultSMTPHost);//邮件服务器地址
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.user", "CTOPAY");//发送方的发送名;
props.put("mail.smtp.from", defaultMailFromName);//发送邮箱地址;
props.put("mail.debug", "false");//不打印构建发送者信息
//构建发送者
Authenticator auth = new Authenticator() {
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(defaultMailFromName, defaultMailFromPassword);
}
};
Session session = Session.getInstance(props, auth);
session.setDebug(false);//不打印发送信息
Message msg = new MimeMessage(session);
int sendNum = 0;//发送的数量
for (String mailTo : mailTos.split(",")) {
try {
InternetAddress[] addresses = {new InternetAddress(mailTo)};
msg.setRecipients(Message.RecipientType.TO, addresses);//设置邮件接收地址集
msg.setSentDate(new java.util.Date());//设置邮件发送日期
msg.setSubject(mailSubject);// 设置邮件的标题
// msg.setText(mailText);// 设置邮件的内容(文本)
msg.setContent(mailText, "text/html");// 设置邮件的内容
Transport.send(msg);//发送邮件
sendNum++;//发送记数
System.out.println("Success to send email to " + mailTo);
} catch (MessagingException e) {
System.out.println("Fail to send email for:" + e);
}
}
return sendNum;
}
public static void main(String[] args) {
String to = "a@b.c,b@c.d";
String subject = "测试中文test chinese";
String text = "<table align=center width=100%><tr><td align=right>邮件测试mail test</td></tr></table>";
int i = send(to, subject, mailText);
System.out.println("i = " + i);
}
}
相关文章推荐
- Android中利用commons-email.jar和 mail.jar 发送和接受邮件
- Java使用javax.mail.jar发送邮件并允许发送附件
- JavaMail 发送邮件【需要Mail.jar】
- 通过JAVA发送邮件--mail.jar
- 基于java mail.jar邮件发送,最详细代码和讲解
- 使用mail.jar和activation.jar实现邮件的接受和发送
- Java使用javax.mail.jar发送邮件并同意发送附件
- java使用javax.mail.jar发送邮件
- 随笔记:使用java.mail.jar 实现邮件发送服务
- java 利用mail.jar发送邮件
- JAVA 使用JavaMail发送邮件(mail.jar和activtion.jar)
- java-邮件发送-mail.jar
- 使用javamail.jar进行邮件发送包含代理设置
- 利用mail.jar发送邮件(简单版)
- android mail发送邮件(包含163邮箱及qq邮箱,使用mail.jar,activation.jar,additionnal.jar)
- 用commons-mail.jar发送邮件
- 基于mail.jar实现邮件发送
- 简单的邮件发送mail.jar
- [邮件]简单MAIL发送类
- Linux下利用msmtp+mail+shell来发送邮件。