54 public static int sendMail(String account, String regemail, String url) {
try {
// 建立邮件会话
Properties props = new Properties(); // 用来在一个文件中存储键-值对的,其中键和值是用等号分隔的
props.put("mail.smtp.host", Config.getConfig().getProperty(
"MAIL_SERVER", 2));
props.put("mail.smtp.auth", "true");
Session session = Session.getInstance(props);
session.setDebug(true);
// 由邮件会话新建一个消息对象
MimeMessage message = new MimeMessage(session);
// 设置发件人的地址
Address mail_from = new InternetAddress(Config.getConfig()
.getProperty("MAIL_FROM", 2));
message.setFrom(mail_from);
// 设置发件人的地址
Address mail_to = new InternetAddress(regemail);
message.setRecipient(Message.RecipientType.TO, mail_to);
// 设置标题
message.setSubject("百忆用户注册 - 邮箱确认");
// 设置邮件内容格式,并防止乱码出现
message.setContent(Javamails
.getEmailContent(account, regemail, url),
"text/html;charset=GBK");
// 设置发信时间
message.setSentDate(new Date());
log.debug("邮件标题: " + message.getSubject());
log.debug("邮件内容: " + (String) message.getContent());
// 存储邮件信息
message.saveChanges();
Transport transport = session.getTransport("smtp");
transport.connect(Config.getConfig().getProperty("MAIL_SERVER", 2),
Config.getConfig().getProperty("MAIL_COUNT", 2), Config
.getConfig().getProperty("MAIL_PASSWORD", 2));
// 发送邮件,其中第二个参数是所有已设好的收件人地址
transport.sendMessage(message, message.getAllRecipients());
transport.close();
log.debug("success");
return 1;
} catch (AddressException e) {
e.printStackTrace();
log.error("Address is Exception");
return 0;
} catch (MessagingException e) {
e.printStackTrace();
log.error("Messaging is Exception");
return 0;
} catch (Exception e) {
e.printStackTrace();
log.error("read monkey.properties failed");
return 0;
} }
这里牵涉到读取配置文件,好的项目,公用的话会写到以.properties结尾的属性文件里面###email配置MAIL_SERVER=60.191.25.164
MAIL_COUNT=*********(发送者邮箱前缀名称)例如:houjunchang_daxue 结合下面的邮箱来写MAIL_FROM=houjunchang_daxue@163.comMAIL_PASSWORD=邮箱密码
|