Da ich an MA-Tools beteiligt war, habe ich mich mit der Postzustellung befasst. Ich habe ein einfaches Mail-Zustellungsprogramm (HTML-Mail) mit dem SMTP-Server von Google erstellt.
・ Java -Mail.jar: Download-Link -Activation.jar: Download-Link ・ Google SMTP-Server
Als grober Verarbeitungsablauf
SMTP-Authentifizierung → Lieferinhalt, Ziel, Absendereinstellungen → Senden
Es ist ein einfacher oder normaler Fluss.
import
Importvorgang
import javax.mail.Address;
import javax.mail.AuthenticationFailedException;
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.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;
import java.io.UnsupportedEncodingException;
import java.util.Date;
Zunächst müssen Sie sie importieren.
python
Properties props = new Properties();
//SMTP-Servereinstellungen. Richten Sie hier den SMTP-Server von Google ein
props.setProperty("mail.smtp.host","smtp.gmail.com");
//Ändern Sie die Portnummer für SSL
props.setProperty("mail.smtp.port", "465");
//Timeout-Einstellung
props.setProperty("mail.smtp.connectiontimeout", "60000");
props.setProperty("mail.smtp.timeout", "60000");
//Authentifizierung
props.setProperty("mail.smtp.auth", "true");
//Diese Einstellung ist erforderlich, wenn Sie SSL verwenden
props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.setProperty("mail.smtp.socketFactory.fallback", "false");
props.setProperty("mail.smtp.socketFactory.port","465");
//Erstellen Sie eine Sitzung mit den in Requisiten festgelegten Informationen
final Session session = Session.getInstance(props, new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
//Legen Sie hier Ihr Google Mail-Konto und Ihr Passwort fest
return new PasswordAuthentication("[email protected]","your password");
}
});
Legen Sie auf diese Weise die Anmeldeinformationen in den Eigenschaften fest und erstellen Sie eine Sitzung Anmeldeinformationen werden der Sitzungstypvariablen Sitzung zugewiesen.
python
//Legen Sie die variable Sitzung fest
MimeMessage contentMessage = new MimeMessage(session);
//E-Mail-Inhaltsinformationen
String mailContents = "<html><body><h1>hello</h1></body></html>"
try {
//Stellen Sie die Quelladresse, den Anzeigenamen und den Zeichencode ein
Address addFrom = new InternetAddress("[email protected]", "Herr A.", "UTF-8");
contentMessage.setFrom(addFrom);
//Zieladresse, Anzeigename, Zeichencode einstellen
Address addTo = new InternetAddress("[email protected]","Herr B.","UTF-8");
contentMessage.addRecipient(Message.RecipientType.TO, addTo);
//Betreff einstellen
contentMessage.setSubject("Hallo! !!","UTF-8");
//Der Inhaltstyp der Mail wird angegeben. In diesem Fall handelt es sich um eine HTML-Mail
contentMessage.setHeader("Content-Type", "text/html; charset=UTF-8");
//Festlegen des Inhalts der Mail
contentMessage.setContent(mailContents, "text/html; charset=UTF-8");
//Einstellung wie Datum
contentMessage.setSentDate(new Date());
} catch (MessagingException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
Legen Sie den Lieferinhalt, das Ziel und die Quelle fest Weisen Sie es einer Variablen namens contentMessage vom Typ MimeMessage zu. Übrigens, wenn Sie den Inhaltstyp auf Text setzen, können Sie Textmail zustellen.
python
//E-Mail senden
try {
//Stellen Sie die contentMessage früher ein
Transport.send(contentMessage);
} catch (AuthenticationFailedException e) {
//Authentifizierungsfehler
e.printStackTrace();
} catch (MessagingException e) {
//Verbindung zum SMTP-Server fehlgeschlagen
e.printStackTrace();
}
Dadurch wird die E-Mail gesendet.
Es scheint, dass die grundlegende E-Mail-Zustellung in Java im Grunde so ist. Um dies noch schneller zu machen, verwenden Sie Threads, fügen Sie Zeichen in den Inhalt ein usw. Es ist interessant, weil Sie verschiedene Dinge tun können. Den aktuellen Code finden Sie auf dem Git-Hub unten, wenn Sie möchten.
Quelle: github
Recommended Posts