想要java中郵件發送和接收郵件,首先需要支持SMTP- pop/pop3/IMAP協議,發送的話還需要配置文件,來對程序提供相應的接口,只需要這兩個文件,就可以實現郵件的接收發送,
協議為jar包封裝好的,配置文件為下:
MailUtils.java
import java.util.Properties; import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMessage.RecipientType; public class MailUtils { public static void sendMail(String email, String emailMsg) throws AddressException, MessagingException { // 1.創建一個程序與郵件服務器會話對象 Session Properties props = new Properties(); props.setProperty("mail.transport.protocol", "SMTP"); props.setProperty("mail.host", "smtp.126.com");//發送郵件的服務器地址 使用網易126的郵箱服務器發郵件 props.setProperty("mail.smtp.auth", "true");// 指定驗證為true // 創建驗證器 Authenticator auth = new Authenticator() { public PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication("發送者郵箱賬號", "郵箱者的密碼/授權碼");//授權碼 } }; Session session = Session.getInstance(props, auth); // 2.創建一個Message,它相當於是郵件內容 Message message = new MimeMessage(session); message.setFrom(new InternetAddress("發送者的郵箱")); // 設置發送者 message.setRecipient(RecipientType.TO, new InternetAddress(email)); // 設置發送方式與接收者 message.setSubject("用戶激活");//郵件標題 message.setContent(emailMsg, "text/html;charset=utf-8");//創建格式,編碼 // 3.創建 Transport用於將郵件發送 Transport.send(message); } }
GitHub地址: