美文网首页
⚡UI自动化-如何发送邮件*

⚡UI自动化-如何发送邮件*

作者: 9016 | 来源:发表于2018-09-12 09:28 被阅读0次

UI自动化测试结束后,需要把测试结果发送给相关人员。以下方法实现发送邮件功能。

        package tools;
        
        import javax.mail.*;
        import javax.mail.internet.InternetAddress;
        import javax.mail.internet.MimeMessage;
        import java.io.UnsupportedEncodingException;
        import java.util.Date;
        import java.util.Properties;
        
        public class SendMail {
        
            static int port = 25;
            static String server = "smtp.sina.com";// 邮件服务器smtp.sina.com
            static String author = "autotest";// 发送者,显示的发件人名字
            static String fromAdd = "uitest@sina.com";// 发送者邮箱地址jdd_test@sina.com
            static String password = "uipass";// 密码
            //原打算把发送服务器信息作为方法入参,后考虑发送服务器多数情况下是固定的,无需经常变动,故在代码内写死。即使使用过程中修改,对于略懂JAVA的人也不是难事。

            public static void sendEmail(String toAdd, String subject, String body)//toAdd接收邮件的油箱地址,subject邮件标题,body邮件内容 
                    throws UnsupportedEncodingException {
                try {
                    Properties props = new Properties();
                    props.put("mail.smtp.host", server);
                    props.put("mail.smtp.port", String.valueOf(port));
                    props.put("mail.smtp.auth", "true");
        
                    Transport transport = null;
                    Session session = Session.getDefaultInstance(props, null);
        
                    transport = session.getTransport("smtp");
        
                    transport.connect(server, fromAdd, password);
        
                    MimeMessage msg = new MimeMessage(session);
                    msg.setSentDate(new Date());
        
                    InternetAddress fromAddress = new InternetAddress(fromAdd, author,
                            "UTF-8");
                    msg.setFrom(fromAddress);
        
                    InternetAddress[] toAddress = new InternetAddress[1];
                    toAddress[0] = new InternetAddress(toAdd);
        
                    msg.setRecipients(Message.RecipientType.TO, toAddress);
                    msg.setSubject(subject, "UTF-8");
                    msg.setText(body, "UTF-8");
                    msg.saveChanges();
                    transport.sendMessage(msg, msg.getAllRecipients());
                    transport.close();
        
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }

😎很多邮件服务器出于安全考虑,默认下SMTP没有打开。需要手动打开,或参考相关邮件服务器文档进行配置。

相关文章

网友评论

      本文标题:⚡UI自动化-如何发送邮件*

      本文链接:https://www.haomeiwen.com/subject/lwgigftx.html