首先先介紹如何使用Mail.jar包發送郵件,這裏須要去下載mail.jar包導入進當前工程,能夠去maven倉庫裏面查找下載,代碼以下:java
public class TestMain { public static void main(String[] args) throws MessagingException { //一、下載一個mail.jar //二、導包 //三、建立一個用於存放配置信息的對象 Properties prop = new Properties(); //四、設置發送郵件須要的一些信息 //設置發送郵件的協議 prop.put("mail.transport.protocol", "smtp"); //設置發送郵件的主機名 prop.put("mail.smtp.host", "smtp.qq.com"); //設置發送郵件的端口,默認25,可不寫 // prop.put("mail.smtp.port", "xx"); //設置發送郵件時,是否須要進行身份認證,可不寫 // prop.put("mail.smtp.auth", "true"); //設置是否使用ssl安全鏈接 prop.put("mail.smtp.ssl.enable", "true"); //五、建立一個Session對象(在Java和郵箱之間創建一個鏈接) Session session = Session.getDefaultInstance(prop); //六、經過session對象獲取一個Transport對象(能夠理解爲一個輸出流) Transport transport = session.getTransport(); //七、獲取郵件服務器的認證 //user:發件人的郵箱 //password:發件人的認證碼 String user = "cing_self0731@qq.com"; String password = "ufhannqpmjvdccbi"; transport.connect(user, password); //八、建立對象和郵件的映射 關係 Message message = createMessage(session); //九、發送郵件 //第二個參數是獲取全部收件人的地址 transport.sendMessage(message, message.getAllRecipients()); //十、關閉通道 transport.close(); } //建立一個郵件對象 //參數:一個Session(鏈接對象) //返回值:郵件對象(映射) MimeMessage private static Message createMessage(Session session) throws MessagingException { //一、建立一個郵件對象 Message message = new MimeMessage(session); //二、設置郵件信息 //1)設置發送人 message.setFrom(new InternetAddress("cing_self0731@qq.com")); //2)設置接收人 //參數: // 收件人類型 //To:收件人 //CC:抄送人 //BCC:密送 //收件人地址 message.setRecipient(Message.RecipientType.TO, new InternetAddress("cing_self0731@qq.com")); //3)設置發送時間 //這裏用的是當前時間 message.setSentDate(new Date()); //4)設置郵件主題 message.setSubject("郵件主題"); //5)設置郵件正文 message.setText("郵件正文"); //保存以上設置 message.saveChanges(); return message; } }
上述代碼中涉及到一個郵箱服務器的認證碼,獲取步驟以下(我這裏用的是QQ郵箱):spring
使用Spring發送郵件須要依賴spring-context-support包,因此在使用以前先確認這個包導沒導入安全
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- email--> <bean id="sender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> <property name="host" value="smtp.qq.com"/> <property name="username" value="cing_self0731@qq.com"/> <property name="password" value="xentlpmffyadccgi"/> <property name="defaultEncoding" value="UTF-8"/> <property name="javaMailProperties"> <props> <prop key="mail.smtp.auth">true</prop> <prop key="mail.smtp.ssl.enable">true</prop> </props> </property> </bean> </beans>
public class TestMain { public static void main(String[] args) throws MessagingException { ApplicationContext context = new ClassPathXmlApplicationContext("ApplicationContext.xml"); JavaMailSender sender = (JavaMailSender) context.getBean("sender"); //建立一個郵件對象 MimeMessage mimeMessage = sender.createMimeMessage(); //經過helper幫咱們設置郵件內容 MimeMessageHelper helper = new MimeMessageHelper(mimeMessage); //設置發件人 helper.setFrom("cing_self0731@qq.com"); //設置收件人 helper.setTo("cing_self0731@qq.com"); //設置郵件主題 helper.setSubject("主題"); //設置郵件正文 helper.setText("正文"); //發送郵件 sender.send(mimeMessage); } }
若是有什麼問題的話能夠留言或者私信我!!!服務器