Java 邮件发送代码
发布时间:2020-05-25 14:00:41 所属栏目:Java 来源:互联网
导读:Java 邮件发送代码
|
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。 脚本之家小编现在分享给大家,也给大家做个参考。 1、MailOperation.java 主要文件,邮件操作,发送package main;
import java.util.Date;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
public class MailOperation {
/**
* @author goming
*TODO:发送邮件
*@param user
*@param password
*@param host
*@param from
*@param to
*@param subject
*@param content
*@return
*@throws Exception
*/
public String sendMail(String user,String password,String host,String from,String to,String subject,String content) throws Exception {
// TODO Auto-generated method stub
if(to!=null)
{
Properties props=System.getProperties();
props.put("mail.smtp.host",host);
props.put("mail.smtp.auth","true");
MailAuthenticator auth=new MailAuthenticator();
MailAuthenticator.USERNAME=user;
MailAuthenticator.PASSWORD=password;
Session session=Session.getInstance(props,auth);
session.setDebug(true);
try{
MimeMessage message=new MimeMessage(session);
//message.setDataHandler(new DataHandler(content,"text/html; charset=utf-8"));//设置邮件内容
message.setFrom(new InternetAddress(from));
if(!to.trim().equals(""))
message.addRecipient(Message.RecipientType.TO,new InternetAddress(to.trim()));
message.setSubject(subject);
// message.setContent(mp)
//message.setText("this is 一个测试邮件");
MimeBodyPart mbp1=new MimeBodyPart(); //正文
mbp1.setContent(content,"text/html;charset=utf-8");
Multipart mp=new MimeMultipart(); //整个邮件:正文+附件
mp.addBodyPart(mbp1);
//mp.addBodyPart(mbp2);
message.setContent(mp);
message.setSentDate(new Date());
message.saveChanges();
Transport trans=session.getTransport("smtp");
trans.send(message);
System.out.println(message.toString());
}catch(Exception e)
{
e.printStackTrace();
return "failure";
}
return "success";
}
else
return "failure";
}
public static void main(String[] args) {
MailOperation operation = new MailOperation();
String user = "[emailprotected]";
String password = "xmG0ldenway";
String host = "smtp.qq.com";
String from = "[emailprotected]";
String to = "******@qq.com";//收件人
String subject = "Test";
String content = "测试邮件";
try {
String res = operation.sendMail(user,password,host,from,to,subject,content);
System.out.println(res);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(new Date());
}
}
2、MailAuthenticator.jave 封装发件人账号密码import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;
/**
*
* @author goming
*
*/
public class MailAuthenticator extends Authenticator
{
public static String USERNAME = "";
public static String PASSWORD = "";
public MailAuthenticator(){}
protected PasswordAuthentication getPasswordAuthentication(){
return new PasswordAuthentication(USERNAME,PASSWORD);
}
}
3、SendEmail.java 调用类,主要做邮件内容,以及发送一个地址回访!/**
* 发送邮件
* @author goming
* @param to
* @param uuid
*/
@RequestMapping(params = "sendMail")
@ResponseBody
private void sendMail(String to,HttpServletRequest request){
MailOperation operation = new MailOperation();
//发件人
String user = "*****@qq.com";
String password = "******";
String host = "smtp.qq.com";
String from = "[emailprotected]";
String subject = "感谢您注册创意生态资源集成系统软件";
//邮箱内容
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath()+"/";
StringBuffer sb = new StringBuffer();
Date date=new Date();
Long longtimeLong=date.getTime();
sb.append("<!DOCTYPE>"+"<div bgcolor='#f1fcfa' style='border:1px solid #d9f4ee; font-size:12px; line-height:22px; color:#005aa0;padding-left:1px;padding-top:5px; padding-bottom:5px;'><span style='font-weight:bold;'>安全提示:</span>"
+ "<div style='width:950px;font-family:arial;'>为了您的账户安全,我们建议您点击以下链接验证邮箱:<br/><a href='"+basePath+"UserRegister.do?ValidateEmail&time="+longtimeLong+"&token="+to+"'>"+basePath+"UserRegister.do?ValidateEmail&time="+longtimeLong+"&token="+to+"</a><br/>请在24小时内点击该链接,您也可以将链接复制到浏览器地址栏访问。<br/>本邮件由系统自动发出,请勿回复。<br/>感谢您的使用。<br/>厦门交叉媒体科技有限公司</div>"
+"</div>");
try {
String res = operation.sendMail(user,sb.toString());
// System.out.println(res);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 来自模板化对象的Java 8函数构造函数
- java – 如何翻转像素图以绘制到libgdx中的纹理?
- java – Aspectj没有捕获spring框架中的所有事件?
- java – maven-assembly-plugin MojoExecutionException,其
- java – 可以为char指定整数值,但不能将整数变量赋给char
- java – 使用application.properties在Spring Boot中外化lo
- java – 如何检测哪个程序在Windows 7上播放声音?
- Java中的递归泛型定义和Stackoverflow
- Java新手 – 什么是JPA和DAO?
- 为什么java.lang.Void不能序列化?
