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=邮箱密码
|