1. 程式人生 > 其它 >新一代容器平臺ACK Anywhere,來了

新一代容器平臺ACK Anywhere,來了

郵件傳送

maven依賴

<!-- https://mvnrepository.com/artifact/javax.mail/mail -->
    <dependency>
      <groupId>javax.mail</groupId>
      <artifactId>mail</artifactId>
      <version>1.4.7</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/javax.activation/activation -->
    <dependency>
      <groupId>javax.activation</groupId>
      <artifactId>activation</artifactId>
      <version>1.1.1</version>
    </dependency>

普通郵件

package org.example.test;

import com.sun.mail.util.MailSSLSocketFactory;

import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;

public class MailDemo {
    public static void main(String[] args) throws Exception {
        Properties properties = new Properties();
        properties.setProperty("mail.host","smtp.qq.com");//設定QQ郵件伺服器
        properties.setProperty("mail.transport.protocol","smtp");//郵件傳送協議
        properties.setProperty("mail.smtp.auth","true");//需要驗證使用者名稱和密碼
        //關於QQ郵箱,還要設定SSL加密,加上以下程式碼即可
        MailSSLSocketFactory mailSSLSocketFactory = new MailSSLSocketFactory();
        mailSSLSocketFactory.setTrustAllHosts(true);
        properties.put("mail.smtp.ssl.enable","true");
        properties.put("mail.smtp.ssl.socketFactory",mailSSLSocketFactory);
        //使用JavaMail傳送郵件的5個步驟

        //1、建立定義整個應用程式所需的環境資訊的Session物件
        //QQ才有!其他郵箱不用
        Session session = Session.getDefaultInstance(properties, new Authenticator() {
            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                //發件人郵件使用者名稱、授權碼
                return new PasswordAuthentication("你的qq號", "你的授權碼");
            }
        });
        //開啟Session的debug模式,這樣就可以檢視到程式傳送Email的執行狀態
        session.setDebug(true);
        //2、通過session得到transport物件
        Transport transport = session.getTransport();
        //3、使用郵箱的使用者名稱和授權碼連上郵件伺服器
        transport.connect("smtp.qq.com","你的qq號","你的授權碼");
        //4、建立郵件
        //需要傳遞Session
        MimeMessage mimeMessage = new MimeMessage(session);
        //指明郵件的發件人
        mimeMessage.setFrom(new InternetAddress("你的qq號"));
        //指明郵件的收件人,如果發件人和收件人是一樣的,那就是自己給自己發
        mimeMessage.setRecipient(Message.RecipientType.TO,new InternetAddress("收件人qq號"));
        //郵件的標題
        mimeMessage.setSubject("測試郵件");
        //郵件的文字內容
        mimeMessage.setContent("<h3>您好!測試郵件請勿回覆!!!</h3>","text/html;charset=utf-8");
        //5、傳送郵件
        transport.sendMessage(mimeMessage,mimeMessage.getAllRecipients());
        //6、關閉連線
        transport.close();
    }
}

附件郵件

package org.example.test;

import com.sun.mail.util.MailSSLSocketFactory;

import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;

public class MailDemo {
    public static void main(String[] args) throws Exception {
        Properties properties = new Properties();
        properties.setProperty("mail.host","smtp.qq.com");//設定QQ郵件伺服器
        properties.setProperty("mail.transport.protocol","smtp");//郵件傳送協議
        properties.setProperty("mail.smtp.auth","true");//需要驗證使用者名稱和密碼
        //關於QQ郵箱,還要設定SSL加密,加上以下程式碼即可
        MailSSLSocketFactory mailSSLSocketFactory = new MailSSLSocketFactory();
        mailSSLSocketFactory.setTrustAllHosts(true);
        properties.put("mail.smtp.ssl.enable","true");
        properties.put("mail.smtp.ssl.socketFactory",mailSSLSocketFactory);
        //使用JavaMail傳送郵件的5個步驟

        //1、建立定義整個應用程式所需的環境資訊的Session物件
        //QQ才有!其他郵箱不用
        Session session = Session.getDefaultInstance(properties, new Authenticator() {
            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                //發件人郵件使用者名稱、授權碼
                return new PasswordAuthentication("你的qq號", "你的授權碼");
            }
        });
        //開啟Session的debug模式,這樣就可以檢視到程式傳送Email的執行狀態
        session.setDebug(true);
        //2、通過session得到transport物件
        Transport transport = session.getTransport();
        //3、使用郵箱的使用者名稱和授權碼連上郵件伺服器
        transport.connect("smtp.qq.com","你的qq號","你的授權碼");
        //4、建立郵件
        //需要傳遞Session
        MimeMessage mimeMessage = new MimeMessage(session);
        //指明郵件的發件人
        mimeMessage.setFrom(new InternetAddress("你的qq號"));
        //指明郵件的收件人,如果發件人和收件人是一樣的,那就是自己給自己發
        mimeMessage.setRecipient(Message.RecipientType.TO,new InternetAddress("收件人qq號"));
        //郵件的標題
        mimeMessage.setSubject("測試郵件");
        //準備圖片資料
        MimeBodyPart image = new MimeBodyPart();
        //圖片需要經過資料處理,DataHandler:資料處理
        DataHandler dataHandler = new DataHandler(new FileDataSource("附件路徑"));
        image.setDataHandler(dataHandler);//在MimeBodyPart中放入處理的圖片的資料
        image.setContentID("起一個附件id");//給圖片設定一個ID,在後面可以使用
        //準備正文資料
        MimeBodyPart text = new MimeBodyPart();
        text.setContent("這是一封附件郵件。<img src='cid:附件id'/>","text/html;charset=utf-8");
        //描述資料關係
        MimeMultipart mimeMultipart = new MimeMultipart();
        mimeMultipart.addBodyPart(text);
        mimeMultipart.addBodyPart(image);
        mimeMultipart.setSubType("related");
        //設定到訊息中,儲存修改
        mimeMessage.setContent(mimeMultipart);//把編輯好的郵件放入到訊息中
        mimeMessage.saveChanges();//儲存修改
        //5、傳送郵件
        transport.sendMessage(mimeMessage,mimeMessage.getAllRecipients());
        //6、關閉連線
        transport.close();
    }
}
作者:(x²+y²-1)³=x²y³ 出處:http://www.cnblogs.com/yts-helloworld/

-------------------------------------------

個性簽名:獨學而無友,則孤陋而寡聞。做一個靈魂有趣的人!

如果覺得這篇文章對你有小小的幫助的話,記得在右下角點個“推薦”哦,博主在此感謝!

萬水千山總是情,打賞一分行不行,所以如果你心情還比較高興,也是可以掃碼打賞博主,哈哈哈(っ•̀ω•́)っ✎⁾⁾!