Heim  >  Artikel  >  Java  >  So verwenden Sie die integrierte Mail-API von Java, um die E-Mail-Versandfunktion zu implementieren

So verwenden Sie die integrierte Mail-API von Java, um die E-Mail-Versandfunktion zu implementieren

王林
王林nach vorne
2023-05-11 12:49:06739Durchsuche

Anforderungen:

Verwenden von jdk API-java.mail zum Senden von E-Mails, um die E-Mail-Funktion zu realisieren

Der folgende Code kann E-Mails senden, am Beispiel des QQ-Postfachs

package com.example.demo.emailInfo;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.io.UnsupportedEncodingException;
import java.util.*;

public class SendEmailInfo {
    public static void main(String[] args) throws MessagingException, UnsupportedEncodingException {


        String smtpServer = "smtp.qq.com";
        String username = "939089358@qq.com";
        //这里是你开通smtp协议的授权码,若是公司自定义服务器,可无需授权码,但需要配置证书,文章后面有详解
        String password = "***********";
        String receiver = "939089358@qq.com";
        String receiver2 = "低调AI实验室@126.com";

        //这里的配置可以自己抽取成工具
        Properties properties = new Properties();
        Map<String, Object> map = new HashMap<>();

        //常用smtp使用配置,可以在其他文章中获取:这里针对使用qq发送邮件
        map.put("mail.transport.protocol","smtp");
        map.put("mail.smtp.host",smtpServer);
        map.put("mail.smtp.auth","true");
        map.put("mail.smtp.port","465");
        map.put("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory");
        map.put("mail.smtp.socketFactory.fallback",false);
        map.put("mail.smtp.socketFactory.port","465");
        map.put("mail.smtp.starttls.enable","true");
        properties.putAll(map);

        //创建会话对象,用户邮件和服务器的交互
        Session session = Session.getDefaultInstance(properties);
//        session.setDebug(true); //查看发送邮件的log

        //创建一邮件
        MimeMessage message = new MimeMessage(session);
        InternetAddress senderAddress = new InternetAddress(username,"设置自定义发件人名称","UTF-8");
        message.setFrom(senderAddress);
        message.setRecipient(Message.RecipientType.TO,new InternetAddress(receiver,"收件人自定义名称","UTF-8"));

        message.setSubject("设置发送的主题:比如:邀请函","UTF-8");
        message.setContent("内容:邀请你和我一起约会,在屋顶吹晚风,看星星,吃水果","text/html;charset=UTF-8");
        message.setSentDate(new Date());
        message.saveChanges();

        //用session 获取传输对象,然后连接发件人
        Transport transport = session.getTransport();
        transport.connect(username,password);
        transport.sendMessage(message,message.getAllRecipients());
        transport.close();
        System.out.println("发送成功");
    }
}

Wenn Sie den internen Server des Unternehmens verwenden möchten, benötigen Sie Konfigurieren Sie ein Autorisierungszertifikat in der JDK-Datei. Der Vorgang ist wie folgt:

rrree

Schritte zur Zertifikatserstellung:

1 Kopieren Sie den obigen Java-Code vollständig, legen Sie ihn auf dem Desktop ab und erstellen Sie eine neue .java-Datei mit demselben Namen wie die Klasse und legen Sie sie in den neuen Dateiordner

So verwenden Sie die integrierte Mail-API von Java, um die E-Mail-Versandfunktion zu implementieren

2. Öffnen Sie das Befehlsfenster mit cmd und kompilieren Sie: javac InstallCert.java-Datei

So verwenden Sie die integrierte Mail-API von Java, um die E-Mail-Versandfunktion zu implementieren

So verwenden Sie die integrierte Mail-API von Java, um die E-Mail-Versandfunktion zu implementieren

3. Führen Sie: java InstallCert Java request error site aus URL

So verwenden Sie die integrierte Mail-API von Java, um die E-Mail-Versandfunktion zu implementieren

ist ein selbst erstellter Serverdomänenname: Zum Beispiel: smtp.AIRow.com

4 Geben Sie dann 1 ein, um den Vorgang zu beenden.

5. Überprüfen Sie den Desktop. Legen Sie die Datei im Verzeichnis /jre/lib/security fest.

6 durch Betrieb und Wartung.

7. Wenn Sie zum Versenden von E-Mails keinen eigenen Server eines Unternehmens oder einer Einzelperson verwenden, müssen Sie kein Zertifikat konfigurieren.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die integrierte Mail-API von Java, um die E-Mail-Versandfunktion zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen