Add MailUtil and send log mail
[rtmpclient.git] / app / src / main / java / ai / suanzi / rtmpclient / MailUtil.java
1 package ai.suanzi.rtmpclient;
2
3 import java.util.Date;
4 import java.util.Properties;
5
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;
11
12 public class MailUtil {
13
14     /**
15      * 创建一封只包含文本的简单邮件
16      *
17      * @param session 和服务器交互的会话
18      * @param sendMail 发件人邮箱
19      * @param receiveMail 收件人邮箱
20      * @return
21      * @throws Exception
22      */
23     public static MimeMessage createMimeMessage(Session session, String sendMail, String receiveMail) throws Exception {
24         // 1. 创建一封邮件
25         MimeMessage message = new MimeMessage(session);
26         // 2. From: 发件人
27         message.setFrom(new InternetAddress(sendMail, "test", "UTF-8"));
28         // 3. To: 收件人(可以增加多个收件人、抄送、密送)
29         message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(receiveMail, "test", "UTF-8"));
30         // 4. Subject: 邮件主题
31         message.setSubject("test", "UTF-8");
32         // 5. Content: 邮件正文(可以使用html标签)
33         message.setContent("hahaha", "text/html;charset=UTF-8");
34         // 6. 设置发件时间
35         message.setSentDate(new Date());
36         // 7. 保存设置
37         message.saveChanges();
38         return message;
39     }
40
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 服务器地址
48
49         props.setProperty("mail.smtp.auth", "true");      // 需要请求认证
50         //如果遇到ssl类错误,请打开一下代码
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);
60         // 3. 创建一封邮件
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());
67         // 7. 关闭连接
68         transport.close();
69     }
70
71
72 }