java的邮件发送代码
来源:互联网 发布:mac电脑分享wifi给手机 编辑:程序博客网 时间:2024/05/20 02:28
配置文件:
package com.nroad.config;import org.apache.commons.configuration.Configuration;import org.apache.commons.configuration.ConfigurationException;import org.apache.commons.configuration.PropertiesConfiguration;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.springframework.stereotype.Component;/** * Created by Administrator on 2017/5/19. */@Componentpublic class EmailConfig { private static Log log = LogFactory.getLog(EmailConfig.class); private static Configuration configs; private static String host; //主机地址,不同服务商的地址不一样,可以百度 private static String proptocol; //协议,此处使用smtp协议 private static String port; //端口,不同服务商不一样,可以百度 private static String email; //发送邮箱账号 private static String password; //发送邮箱密码 static { EmailConfig.init("emailinfo.properties"); } private EmailConfig() { } public static synchronized void init(String filePath){ if(configs == null){ try { configs = new PropertiesConfiguration(filePath); } catch (ConfigurationException e) { e.printStackTrace(); } } if (configs == null){ throw new IllegalStateException("can`t find file by path:" + filePath); } else { host = configs.getString("host"); proptocol = configs.getString("proptocol"); port = configs.getString("port"); email = configs.getString("email"); password = configs.getString("password"); log.info("发送邮件配置如下: "); log.info("配置文件名: "+filePath); log.info(description()); } } private static String description() { StringBuilder sb =new StringBuilder("Configs:{"); sb.append("主机: ").append(host).append("\n"); sb.append("邮箱协议: ").append(proptocol).append("\n"); sb.append("发送方邮箱: ").append(email).append("\n"); sb.append("发送方密码: ").append("保密").append("\n"); sb.append("}"); return sb.toString(); }//get and set...}
编辑邮件参数以及内容
redirect_uri : 服务器域名以及端口
validateCode:因为我做的是邮箱验证,所以这个是验证码,不用在乎
email:接收方邮箱
/** * 向用户邮箱发送激活码 */ public void sendEmail(String redirect_uri, String email, String validateCode){ //邮件的内容 StringBuffer sb = new StringBuffer("点击下面链接激活账号,48小时生效,否则重新注册账号,链接只能使用一次,请尽快激活!</br>"); sb.append("<a href=\""+redirect_uri+"?action=activate&email="); sb.append(email); sb.append("&validateCode="); sb.append(validateCode); sb.append("\">"+redirect_uri+"?action=activate&email="); sb.append(email); sb.append("&validateCode="); sb.append(validateCode); sb.append("</a>"); //发送邮件 SendEmail.send(email, sb.toString()); }
package com.nroad.common;import com.nroad.config.EmailConfig;import com.nroad.exception.RegisterException;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import javax.mail.*;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;import java.util.Date;import java.util.Properties;/** * Created by Administrator on 2017/5/8. */public class SendEmail { private static Log log = LogFactory.getLog(SendEmail.class); /** * 发送邮件 * @param toEmail 接收方email * @param content 发送参数及内容 */ public static void send(String toEmail,String content){ Session session = getSession(); log.info("--send--"+content); Message msg = new MimeMessage(session); //发送邮件开始 try { log.info("发送邮件开始"); msg.setFrom(new InternetAddress(EmailConfig.getEmail())); InternetAddress[] address = {new InternetAddress(toEmail)}; msg.setRecipients(Message.RecipientType.TO, address); msg.setSubject("账号激活邮件"); msg.setSentDate(new Date()); msg.setContent(content , "text/html;charset=utf-8"); Transport.send(msg); log.info("发送邮件结束"); } catch (MessagingException e) { log.info("发送邮件失败 "); e.printStackTrace(); throw new RegisterException("发送邮箱失败"); } } /** * 获取Session * @return */ private static Session getSession(){ Properties props = new Properties(); props.put("mail.smtp.host", EmailConfig.getHost());//设置服务器地址 props.put("mail.store.protocol" , EmailConfig.getProptocol());//设置协议 props.put("mail.smtp.port", EmailConfig.getPort());//设置端口 props.put("mail.smtp.auth" , true); Authenticator authenticator = new Authenticator(){ @Override protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(EmailConfig.getEmail(), EmailConfig.getPassword()); } }; Session session = Session.getDefaultInstance(props, authenticator); return session; }}
阅读全文
0 0
- java的邮件发送代码
- java发送邮件代码
- JAVA邮件发送代码
- Java代码发送邮件
- java 邮件发送代码
- Java 发送邮件代码
- JAVA发送邮件代码
- Java代码发送邮件
- java代码发送邮件
- java代码发送邮件
- java发送邮件代码
- java 代码邮件发送
- java邮件发送的实现代码
- 关于邮件发送的 java代码
- 使用java代码实现邮件的发送
- 发送邮件的代码~
- 发送邮件的代码
- 发送邮件的代码
- Android Studio在libs中添加jar包
- Encountered a section with no Package: header问题
- docker(一) 基础知识和命令
- Java实现Sunday算法
- Win7系统删除开始菜单里的气泡提示的方法
- java的邮件发送代码
- 《一》将关注订阅号用户的基本信息入库
- 我如何让软件二次开发变简单
- 使用jdcloud-wui筋斗云前端框架如何快速定位到源码
- Android studio 制作.9图片步骤
- 使用BadBoy录制JMeter脚本
- dp入门与两个基础的背包问题
- jquery ajax
- Redis做消息队列文章两篇