UI自動(dòng)化測(cè)試結(jié)束后驰坊,需要把測(cè)試結(jié)果發(fā)送給相關(guān)人員榆综。以下方法實(shí)現(xiàn)發(fā)送郵件功能妙痹。
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";// 郵件服務(wù)器smtp.sina.com
static String author = "autotest";// 發(fā)送者,顯示的發(fā)件人名字
static String fromAdd = "uitest@sina.com";// 發(fā)送者郵箱地址jdd_test@sina.com
static String password = "uipass";// 密碼
//原打算把發(fā)送服務(wù)器信息作為方法入?yún)ⅲ罂紤]發(fā)送服務(wù)器多數(shù)情況下是固定的鼻疮,無(wú)需經(jīng)常變動(dòng)怯伊,故在代碼內(nèi)寫(xiě)死。即使使用過(guò)程中修改,對(duì)于略懂JAVA的人也不是難事耿芹。
public static void sendEmail(String toAdd, String subject, String body)//toAdd接收郵件的油箱地址崭篡,subject郵件標(biāo)題,body郵件內(nèi)容
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();
}
}
}
??很多郵件服務(wù)器出于安全考慮吧秕,默認(rèn)下SMTP沒(méi)有打開(kāi)琉闪。需要手動(dòng)打開(kāi),或參考相關(guān)郵件服務(wù)器文檔進(jìn)行配置砸彬。