"Det er meg - igjen. Og igjen, jeg har en liten overraskelse til deg."

"I dag skal jeg lære deg hvordan du sender e-post med Java. "

"La oss starte med de gode nyhetene: Java har et eget bibliotek for å jobbe med e-post. "

"Den dårlige nyheten er at dette biblioteket er en del av Java EE , ikke Java SE ."

" Java EE er en utvidet versjon av JavaSE , som inkluderer klasser som trengs for smartere applikasjoner. For eksempel et program for å jobbe med e-post."

"Skjønner det, så hva kan gjøres da?"

"Vel, jeg foreslår at du bare laster ned dette biblioteket og det er det."

"Bruk IntelliJ IDEA klokt."

"Opprett en klasse og legg til bibliotekene javax.mail.* og javax.mail.internet.* til importdelen.

"Trykk så Alt+Enter og la IDEA gjøre alt for deg:

"Slik ser tilbudet om å laste ned de manglende bibliotekene ut:"

Send e-post - 1

"Slik ser nedlastingsvinduet ut:"

Send e-post - 2

"Eller du kan laste den ned her "

"Nedlastet. Hva er det neste?"

"Du må gå til prosjektinnstillingene (Åpne modulinnstillinger) til Bibliotek-delen og legge til JAR-filer fra det nedlastede arkivet."

Send e-post - 3

"Ferdig."

"Er følgende linjer ikke lenger røde?"

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

"Japp."

"Flott, la oss fortsette da."

"Det er tre trinn for å sende en e-post."

1) Opprett en forbindelse med e-postserveren som skal brukes til å sende e-posten

2) Opprett e-posten og legg til vedlegg om nødvendig

3) Send e-posten.

"La oss starte fra begynnelsen."

"For å sende en e-post i Java, må du først opprette en forbindelse med e-postserveren."

"Det er best hvis du allerede har en e-postkonto på serveren. Bekymret for spam, vil moderne e-postservere ikke sende meldinger fra anonyme brukere. "

"Du kan koble til serveren med et enkelt kall til javax.mail.Session.getDefaultInstance-metoden:"

Opprett en forbindelse med e-postserveren
Properties props = new Properties();

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

Session session = Session.getDefaultInstance(props);

"Men du må overføre e-postserverinnstillingene til denne metoden."

"Du kan for eksempel opprette en Mail.properties-fil og fylle den med de ønskede innstillingene, for eksempel noe som dette:"

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

"Det viktigste er å spesifisere protokoll og vert, men du kan trenge ytterligere innstillinger, avhengig av hvordan e-postserveren fungerer."

"Du kan ganske enkelt legge til disse dataene i et Properties-objekt rett i Java-koden."

"For eksempel:"

Opprett en forbindelse med e-postserveren"
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);

"Flott, vi har en økt. La oss nå lage en e-post."

"Dette er lettere å gjøre enn det ser ut ved første øyekast. For eksempel:"

Opprett en e-postmelding
// 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 spesifisere hvilken som helst e-postadresse som mottaker?"

"Jepp. Dessuten kan du også spesifisere hvilken som helst e-postadresse som avsender."

"Kult! Jeg skal ta hensyn til det."

"Nå må vi bare sende denne meldingen."

"Først logger vi på serveren, og deretter sender vi meldingen. Bare to linjer med kode:"

Send en melding
// 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));

"Så interessant! Jeg må prøve det."

"Hvis du lurer på hvordan du sender en melding med vedlegg, kan du lese om det her ."

"Hvis du også vil finne ut hvordan du mottar post, vennligst se her ."

"Holy moly. Hvilke nyttige linker!"

"Ja, jeg skal lage min egen e-postklient nå. Kult!"

"Takk, Ellie!"