"Det er mig - igen. Og igen, jeg har en lille overraskelse til dig."

"I dag skal jeg lære dig, hvordan du sender e-mail ved hjælp af Java. "

"Lad os starte med de gode nyheder: Java har et indbygget bibliotek til at arbejde med e-mail. "

"Den dårlige nyhed er, at dette bibliotek er en del af Java EE , ikke Java SE ."

" Java EE er en udvidet version af JavaSE , som inkluderer klasser, der er nødvendige for smartere applikationer. For eksempel et program til at arbejde med e-mail."

"Forstår det, så hvad kan man så gøre?"

"Nå, jeg foreslår, at du bare downloader dette bibliotek, og det er det."

"Brug IntelliJ IDEA klogt."

"Opret en klasse og tilføj javax.mail.* og javax.mail.internet.* bibliotekerne til importsektionen.

"Tryk derefter Alt+Enter og lad IDEA gøre alt for dig:

"Sådan ser tilbuddet om at downloade de manglende biblioteker ud:"

Send e-mail - 1

"Sådan ser downloadvinduet ud:"

Send e-mail - 2

"Eller du kan downloade den her "

"Downloadet. Hvad er det næste?"

"Du skal gå til projektindstillingerne (Åbn modulindstillinger) til sektionen Biblioteker og tilføje JAR-filer fra det downloadede arkiv."

Send e-mail - 3

"Færdig."

"Er følgende linjer ikke længere røde?"

import javax.mail.internet.MimeMessage;
import javax.mail.internet.*;

"Ja."

"Godt, lad os fortsætte så."

"Der er tre trin til at sende en e-mail."

1) Opret forbindelse til den mailserver, der skal bruges til at sende e-mailen

2) Opret e-mailen og tilføj eventuelt vedhæftede filer

3) Send e-mailen.

"Lad os starte fra begyndelsen."

"For at sende en e-mail i Java skal du først oprette forbindelse til mailserveren."

"Det er bedst, hvis du allerede har en e-mail-konto på serveren. Bekymret over spam ønsker moderne mailservere ikke at sende beskeder fra anonyme brugere. "

"Du kan oprette forbindelse til serveren med et enkelt opkald til metoden javax.mail.Session.getDefaultInstance:"

Opret en forbindelse med mailserveren
Properties props = new Properties();

// Here we need to load data into the props object

Session session = Session.getDefaultInstance(props);

"Men du skal overføre mailserverindstillingerne til denne metode."

"Du kan f.eks. oprette en Mail.properties-fil og udfylde den med de ønskede indstillinger, for eksempel noget som dette:"

Mail.egenskaber
mail.transport.protocol=smtp
mail.host=smtp.gmail.com
mail.smtp.auth=true
mail.user=arnold@gmail.com
mail.password=strong

"Det vigtigste er at specificere protokollen og værten, men du har muligvis brug for yderligere indstillinger, afhængigt af hvordan mailserveren fungerer."

"Du kan blot tilføje disse data til et Egenskabsobjekt direkte i din Java-kode."

"For eksempel:"

Opret forbindelse til mailserveren"
Properties props = new Properties();
props.put("mail.transport.protocol", "smtps");
props.put("mail.smtps.host", “smtp.gmail.com”);
props.put("mail.smtps.auth", "true");
props.put("mail.smtp.sendpartial", "true");

Session session = Session.getDefaultInstance(props);

"Godt, vi har en session. Lad os nu oprette en e-mail."

"Dette er nemmere at gøre, end det ser ud ved første øjekast. For eksempel:"

Opret en mailbesked
// Create a message
MimeMessage message = new MimeMessage(session);

// Set the message subject
message.setSubject("Test email!");

// Add the message text
message.setText("Asta la vista, baby!");

// Specify the recipient
message.addRecipient(Message.RecipientType.TO, new InternetAddress("stalone@gmail.com"));

// Specify the delivery date
message.setSentDate(new Date());

"Jeg kan angive en hvilken som helst e-mailadresse som modtager?"

"Jep. Hvad mere er, kan du også angive en hvilken som helst e-mailadresse som afsender."

"Fedt! Det tager jeg hensyn til."

"Nu skal vi bare sende denne besked."

"Først logger vi ind på serveren, og derefter sender vi vores besked. Kun to linjer kode:"

Send en besked
// Username and password for a Gmail account
String userLogin = “arnold@gmail.com”;
String userPassword = “strong”;

// Sign in on the server:
Transport transport = session.getTransport();
transport.connect("smtp.gmail.com", 465, userLogin, userPassword);

// Send a message:
transport.sendMessage(message, message.getRecipients(Message.RecipientType.TO));

"Hvor interessant! Jeg bliver nødt til at prøve det."

"Hvis du undrer dig over, hvordan du sender en besked med vedhæftede filer, kan du læse om det her ."

"Hvis du også vil finde ud af, hvordan du modtager post, så kig venligst her ."

"Holy moly. Hvilke nyttige links!"

"Ja, jeg har tænkt mig at lave min egen e-mail-klient nu. Fedt!"

"Tak, Ellie!"