"Det Àr jag - igen. Och igen, jag har en liten överraskning till dig."

"Idag ska jag lÀra dig hur du skickar e-post med Java. "

"LÄt oss börja med de goda nyheterna: Java har ett inbyggt bibliotek för att arbeta med e-post. "

"Den dÄliga nyheten Àr att det hÀr biblioteket Àr en del av Java EE , inte Java SE ."

" Java EE Àr en utökad version av JavaSE , som inkluderar klasser som behövs för snyggare applikationer. Till exempel ett program för att arbeta med e-post."

"FörstÄr det, sÄ vad kan man göra dÄ?"

"Tja, jag föreslÄr att du bara laddar ner det hÀr biblioteket och det Àr det."

"AnvÀnd IntelliJ IDEA klokt."

"Skapa en klass och lÀgg till biblioteken javax.mail.* och javax.mail.internet.* till importsektionen.

"Tryck sedan pÄ Alt+Enter och lÄt IDEA göra allt Ät dig:

"SÄ hÀr ser erbjudandet att ladda ner de saknade biblioteken ut:"

Skicka e-post - 1

"SÄ hÀr ser nedladdningsfönstret ut:"

Skicka e-post - 2

"Eller sÄ kan du ladda ner den hÀr "

"Nedladdat. Vad hÀnder hÀrnÀst?"

"Du mÄste gÄ till projektinstÀllningarna (öppna modulinstÀllningar) till sektionen Bibliotek och lÀgga till JAR-filer frÄn det nedladdade arkivet."

Skicka e-post - 3

"Gjort."

"Är följande rader inte lĂ€ngre röda?"

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

"Japp."

"Bra, lÄt oss fortsÀtta dÄ."

"Det finns tre steg för att skicka ett e-postmeddelande."

1) UpprÀtta en anslutning till e-postservern som kommer att anvÀndas för att skicka e-postmeddelandet

2) Skapa e-postmeddelandet och lÀgg vid behov till bilagor

3) Skicka e-postmeddelandet.

"LÄt oss börja frÄn början."

"För att skicka ett e-postmeddelande i Java mÄste du först upprÀtta en anslutning till e-postservern."

"Det Àr bÀst om du redan har ett e-postkonto pÄ servern. Bekymrade över spam vill moderna e-postservrar inte skicka meddelanden frÄn anonyma anvÀndare. "

"Du kan ansluta till servern med ett enda anrop till metoden javax.mail.Session.getDefaultInstance:"

Skapa en anslutning till e-postservern
Properties props = new Properties();

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

Session session = Session.getDefaultInstance(props);

"Men du mÄste skicka e-postserverinstÀllningarna till den hÀr metoden."

"Du kan till exempel skapa en Mail.properties-fil och fylla den med önskade instÀllningar, till exempel nÄgot sÄ hÀr:"

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

"Det viktigaste Àr att ange protokoll och vÀrd, men du kan behöva ytterligare instÀllningar, beroende pÄ hur e-postservern fungerar."

"Du kan helt enkelt lÀgga till denna data till ett Properties-objekt direkt i din Java-kod."

"Till exempel:"

Skapa en anslutning till e-postservern"
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);

"Bra, vi har en session. Nu ska vi skapa ett e-postmeddelande."

"Det hÀr Àr lÀttare att göra Àn det verkar vid första anblicken. Till exempel:"

Skapa ett e-postmeddelande
// 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());

"Jag kan ange vilken e-postadress som helst som mottagare?"

"Japp. Dessutom kan du ocksÄ ange vilken e-postadress som helst som avsÀndare."

"Coolt! Jag tar hÀnsyn till det."

"Nu behöver vi bara skicka det hÀr meddelandet."

"Först loggar vi in ​​pĂ„ servern och sedan skickar vi vĂ„rt meddelande. Bara tvĂ„ rader kod:"

Skicka ett meddelande
// 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));

"Vad intressant! Jag mÄste prova det."

"Om du undrar hur du skickar ett meddelande med bilagor kan du lÀsa om det hÀr ."

"Om du ocksÄ vill ta reda pÄ hur du tar emot post, vÀnligen titta hÀr ."

"Holy moly. Vilka anvÀndbara lÀnkar!"

"Ja, jag ska göra min egen e-postklient nu. Coolt!"

"Tack, Ellie!"