1 package ai.suanzi.rtmpclient;
4 import java.util.Properties;
6 import javax.mail.Session;
7 import javax.mail.Transport;
8 import javax.mail.internet.InternetAddress;
9 import javax.mail.internet.MimeMessage;
10 import android.util.Log;
12 public class MailUtil {
17 * @param session 和服务器交互的会话
18 * @param sendMail 发件人邮箱
19 * @param receiveMail 收件人邮箱
23 public static MimeMessage createMimeMessage(Session session, String sendMail, String receiveMail) throws Exception {
25 MimeMessage message = new MimeMessage(session);
27 message.setFrom(new InternetAddress(sendMail, "test", "UTF-8"));
28 // 3. To: 收件人(可以增加多个收件人、抄送、密送)
29 message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(receiveMail, "test", "UTF-8"));
31 message.setSubject("test", "UTF-8");
32 // 5. Content: 邮件正文(可以使用html标签)
33 message.setContent("hahaha", "text/html;charset=UTF-8");
35 message.setSentDate(new Date());
37 message.saveChanges();
41 public static void sendMail() throws Exception{
42 Log.e("MMMM", "sendMail");
43 // 1. 创建参数配置, 用于连接邮件服务器的参数配置
44 Properties props = new Properties(); // 参数配置
45 props.setProperty("mail.transport.protocol", "smtp"); // 使用的协议(JavaMail规范要求)
46 //props.setProperty("mail.smtp.host", "smtp.163.com"); // 发件人的邮箱的 SMTP 服务器地址
47 props.setProperty("mail.smtp.host", "smtp.exmail.qq.com"); // 发件人的邮箱的 SMTP 服务器地址
49 props.setProperty("mail.smtp.auth", "true"); // 需要请求认证
51 /*final String smtpPort = "465";
52 props.setProperty("mail.smtp.port", smtpPort);
53 props.setProperty("mail.smtp.socketFactory.class", "javax.NET.ssl.SSLSocketFactory");
54 props.setProperty("mail.smtp.socketFactory.fallback", "false");
55 props.setProperty("mail.smtp.socketFactory.port", smtpPort);*/
56 // 2. 根据配置创建会话对象, 用于和邮件服务器交互
57 Session session = Session.getDefaultInstance(props);
58 // 设置为debug模式, 可以查看详细的发送 log
59 session.setDebug(true);
61 MimeMessage message = MailUtil.createMimeMessage(session, "support@suanzi.ai", "support@suanzi.ai");//我这里是以163邮箱为发信邮箱测试通过
62 // 4. 根据 Session 获取邮件传输对象
63 Transport transport = session.getTransport();
64 transport.connect("support@suanzi.ai", "oqiDX8fcWa58CmNf");
65 // 6. 发送邮件, 发到所有的收件地址, message.getAllRecipients() 获取到的是在创建邮件对象时添加的所有收件人, 抄送人, 密送人
66 transport.sendMessage(message, message.getAllRecipients());