Spring---Email的使用

1、使用Mail.jar包發送郵件

首先先介紹如何使用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

    • 1)登陸QQ郵箱
    • 2)找到設置,點擊進入image
    • 3)找到第三方服務image
    • 4)若是沒有顯示已開啓,則點擊開啓服務,開啓以後再點擊生成受權碼,將獲取到的受權碼寫入代碼中image

2、使用Spring發送郵件

使用Spring發送郵件須要依賴spring-context-support包,因此在使用以前先確認這個包導沒導入安全

  • 1)配置信息以下:
<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>
  • 2)主函數代碼:
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);
 }
}

若是有什麼問題的話能夠留言或者私信我!!!服務器

相關文章
相關標籤/搜索