Java 傳送 郵件
阿新 • • 發佈:2019-01-04
1、Maven 中新增依賴
<dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4</version> </dependency>
2、複製如下程式碼
/** * Created by Administrator on 2018/3/8. */ import java.util.*; import javax.mail.*; import javax.mail.internet.*;public class Test { public static void main(String[] args) throws Exception { // 1.建立一個程式與郵件伺服器會話物件 Session Properties props = new Properties(); props.setProperty("mail.transport.protocol", "SMTP"); props.setProperty("mail.smtp.host", "smtp.**.com"); props.setProperty("mail.smtp.port", "25"); // 指定驗證為true props.setProperty("mail.smtp.auth", "true"); props.setProperty("mail.smtp.timeout", "10000"); // 驗證賬號及密碼,密碼需要是第三方授權碼 Authenticator auth = new Authenticator() { public PasswordAuthentication getPasswordAuthentication() { return newPasswordAuthentication("****@gmail.com", "***password***"); } }; Session session = Session.getInstance(props, auth); // 2.建立一個Message,它相當於是郵件內容 MimeMessage message = new MimeMessage(session); // 設定傳送者 message.setFrom(new InternetAddress("****@gmail.com")); // 設定傳送方式與接收者 message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress("*****@gmail.com")); // 設定主題 message.setSubject("郵件傳送測試"); // 設定內容 message.setContent("Sent message success !", "text/plain;charset=utf-8"); // 3.建立 Transport用於將郵件傳送 Transport.send(message); } }
3、如果要傳送郵件給多人,可以用以下程式碼替換上面程式碼:
將:
// 設定傳送方式與接收者 message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress("*****@gmail.com"));改為:
// 設定傳送方式與接收者 String to[] = {"*****@gmail.com","********@qq.com","*******@126.com"}; InternetAddress[] sendTo = new InternetAddress[to.length]; for (int i = 0; i < to.length; i++) { System.out.println("傳送到:" + to[i]); sendTo[i] = new InternetAddress(to[i]); } message.setRecipients(Message.RecipientType.TO, sendTo);