利用JavaMail发送邮件
来源:互联网 发布:怎么下载python安装包 编辑:程序博客网 时间:2024/05/22 15:55
这次项目里有流程审批操作,涉及到的工作流里流程控制都是自己写的,其中发送通知有站内信、短信和邮件,发送邮件我选择了JavaMail,比较通用。引入一个核心jar即可(mail.jar),java代码如下:
import java.util.Properties;import java.util.regex.Matcher;import java.util.regex.Pattern;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;public class MailSend {public static String host;//smtp服务器public static String user;//用户名,即发送邮件的邮箱public static String password;//密码public static String fromMailAddress;//发送人地址public static String from;//发送人要显示的名称protected Log logger = LogFactory.getLog(getClass());@SuppressWarnings("static-access")public MailSend(String host,String user,String password,String fromMailAddress,String from){this.host=host;this.user=user;this.password=password;this.fromMailAddress =fromMailAddress;this.from=from;}public void send(String[] toMailAddress, String subject,String content) {Properties props = new Properties();props.put("mail.smtp.host", host);// 指定SMTP服务器props.put("mail.smtp.auth", "true");// 指定是否需要SMTP验证try {Session mailSession = Session.getInstance(props);mailSession.setDebug(false);// 是否在控制台显示debug信息MimeMessage message = new MimeMessage(mailSession);String nick=javax.mail.internet.MimeUtility.encodeText (from, "utf-8", null);message.setFrom(new InternetAddress(nick+" <"+fromMailAddress+">"));InternetAddress[] sendTo = new InternetAddress[toMailAddress.length];for (int i = 0; i < toMailAddress.length; i++) {sendTo[i] = new InternetAddress(toMailAddress[i]);}message.setRecipients(javax.mail.internet.MimeMessage.RecipientType.BCC, sendTo);message.setSubject(subject, "utf-8");// 邮件主题message.setContent(content, "text/html;charset=utf-8");message.saveChanges();Transport transport = mailSession.getTransport("smtp");transport.connect(host,user,password);transport.sendMessage(message, message.getAllRecipients());transport.close();} catch (Exception e) {logger.info("send mail error: "+e.toString());e.printStackTrace();}}public static boolean isNameAdressFormat(String email){ boolean isExist = false; Pattern p = Pattern.compile("(\\w[-._\\w]*\\w@\\w[-._\\w]*\\w\\.\\w{2,3})"); Matcher m = p.matcher(email); boolean b = m.matches(); if(b) { isExist=true; } else { System.out.println(email +" error email is :无效邮件地址----------"); } return isExist; } public static void main(String[] args) {String rec[] =new String[2];rec[0]=("123456789@qq.com");rec[1]=("123456789@163.com");MailSend ms=new MailSend("smtp.163.com","123456","abc123","123456789@163.com","hehe");ms.send(rec,"aaaaaaa","ddddddd");}
0 0
- 利用JAVAMAIL发送邮件
- 利用JavaMail发送邮件
- 利用JavaMail发送邮件
- 利用javaMail发送邮件
- 利用javaMail发送邮件
- 利用javaMail发送邮件
- 利用javaMail发送邮件
- javamail 利用 sendmail 发送邮件
- 利用Javamail来发送邮件
- 利用javamail 发送gmail邮件
- 利用javamail发送邮件实例
- 利用JavaMail发送邮件示例
- spring利用javamail,quartz定时发送邮件
- 简单java应用 利用javamail发送邮件
- 利用JavaMail发送邮件的一个例子
- 利用javaMail发送邮件的方法
- spring利用javamail,quartz定时发送邮件
- 使用javamail利用SMTP服务发送邮件
- C++使用sort对于结构体排序
- Quoted from Microsoft Website: reinterpret_cast Operator
- cppquery 简单的数据绑定对话框
- The import android cannot be resolved问题解决
- Android通讯录导入到Iphone
- 利用JavaMail发送邮件
- Android Toast自定义 (一个textview多种颜色,或试用html多种颜色)
- Dalvik 可执行格式
- Spring的BindException设置错误信息
- 搭建hadoop cdh4.5版笔记
- 一般线性模型的最小二次方拟合方法
- 两种高效的事件处理模式 reacotr模式和proactor模式
- 简单的Silverlight+MVVM+WCF Ria Service 对数据的增删改查DEMO
- 45个JavaScript技巧和最佳实践