通过java 发送邮件 首先要下载mail.jar 包
ssh框架-mysql-mail包 的 jar 包 下载地址:点击打开链接
然后发送邮箱必须开通stmp的服务
下面以QQ邮箱为例
然后下滑找到
POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务
这个地方 第一行
POP3/SMTP服务 (
如何使用 Foxmail 等软件收发邮件?)
已关闭 |
开启
点击开启 然后发送验证短息 会给你一个授权码 下面代码中会用到。。
下面我写了一个java 发送邮件的帮助类,
package cn.soul.Town.util;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;
/**
* 发送邮件的类。
* @author kING
*
*/
public class MailUtils {
//to就是收件人,code就是激活码
public static void sendMail(String to,String title,String info) throws AddressException, MessagingException {
Properties props = new Properties();
// 指定验证为true
props.setProperty("mail.smtp.auth", "true");
props.put("mail.transport.protocol", "smtp");// 连接协议
props.put("mail.smtp.host", "smtp.qq.com");// 主机名
props.put("mail.smtp.port", 465);// 端口号
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.ssl.enable", "true");//设置是否使用ssl安全连接 ---一般都使用
props.put("mail.debug", "true");//设置是否显示debug信息 true 会在控制台显示相关信息
Session session = Session.getInstance(props);
// 获取邮件对象
Message message = new MimeMessage(session);
//设置发件人邮箱地址
message.setFrom(new InternetAddress("**********@qq.com"));
//设置收件人地址
message.setRecipients(RecipientType.TO,new InternetAddress[] { new InternetAddress(to) });
//设置邮件标题
message.setSubject(title);
//设置邮件内容
message.setContent(info, "text/html;charset=UTF-8");
//得到邮差对象
Transport transport = session.getTransport();
//连接自己的邮箱账户
transport.connect("*********@qq.com", "itullnynmstebafa");//密码为刚才得到的授权码
//发送邮件
transport.sendMessage(message,message.getAllRecipients());
}
public static void main(String args[]) throws AddressException, MessagingException {
//发送邮件给**********@@qq.com
sendMail("**********@qq.com","邮箱标题","邮箱内容");
}
}