„Отново съм аз. И отново имам малка изненада за вас.“

„Днес ще ви науча How да изпращате имейл с помощта на Java.

„Нека започнем с добрата новина: Java има собствена библиотека за работа с имейл.

„Лошата новина е, че тази библиотека е част от Java EE , а не от Java SE .“

" Java EE е разширена version на JavaSE , която включва класове, необходими за по-добри applications. Например приложение за работа с имейл."

„Разбрах, Howво може да се направи тогава?“

„Е, предлагам ви просто да изтеглите тази библиотека и това е.“

„Използвайте разумно IntelliJ IDEA.“

„Създайте клас и добавете библиотеките javax.mail.* и javax.mail.internet.* към раздела за импортиране.

„След това натиснете Alt+Enter и оставете IDEA да направи всичко instead of вас:

„Ето How изглежда предложението за изтегляне на липсващите библиотеки:“

Изпратете имейл - 1

„Ето How изглежда прозорецът за изтегляне:“

Изпратете имейл - 2

„Или можете да го изтеглите тук

„Изтеглено. Какво следва?“

„Трябва да отидете в настройките на проекта (Open Module Settings) в секцията Libraries и да добавите JAR файлове от изтегления архив.“

Изпратете имейл - 3

"Свършен."

„Следните редове вече не са ли червени?“

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

— Да.

— Чудесно, тогава да продължим.

„Има три стъпки за изпращане на имейл.“

1) Установете връзка с пощенския сървър, който ще се използва за изпращане на имейла

2) Създайте имейла и, ако е необходимо, добавете прикачени файлове

3) Изпратете имейла.

— Да започнем отначало.

„За да изпратите имейл в Java, първо трябва да установите връзка с пощенския сървър.“

„Най-добре е вече да имате имейл акаунт на сървъра. Загрижени за спама, съвременните имейл сървъри не искат да изпращат съобщения от анонимни потребители.

„Можете да се свържете със сървъра с едно извикване на метода javax.mail.Session.getDefaultInstance:“

Създайте връзка с пощенския сървър
Properties props = new Properties();

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

Session session = Session.getDefaultInstance(props);

„Но трябва да предадете настройките на пощенския сървър на този метод.“

„Например, можете да създадете файл Mail.properties и да го попълните с желаните настройки, например нещо подобно:“

Mail.свойства
mail.transport.protocol=smtp
mail.host=smtp.gmail.com
mail.smtp.auth=true
mail.user=arnold@gmail.com
mail.password=strong

„Най-важното е да посочите протокола и хоста, но може да имате нужда от допълнителни настройки, в зависимост от това How работи мейл сървърът.“

„Можете просто да добавите тези данни към обект Properties направо във вашия Java code.“

"Например:"

Създайте връзка с пощенския сървър"
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);

„Страхотно, имаме сесия. Сега нека създадем имейл.“

„Това е по-лесно да се направи, отколкото изглежда на пръв поглед. Например:“

Създайте имейл съобщение
// 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());

„Мога ли да посоча всеки имейл address като получател?“

„Да. Нещо повече, можете също да посочите произволен имейл address като подател.“

„Страхотно! Ще го взема под внимание.“

„Сега просто трябва да изпратим това съобщение.“

„Първо влизаме в сървъра и след това изпращаме нашето съобщение. Само два реда code:“

Изпрати съобщение
// 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));

"Колко интересно! Ще трябва да го опитам."

„Ако се чудите How да изпратите съобщение с прикачени файлове, можете да прочетете за това тук .“

„Ако искате също да разберете How да получавате поща, любезно погледнете тук .“

„За бога! Какви полезни връзки!“

„Да, сега ще направя свой собствен имейл клиент. Страхотно!“

„Благодаря, Ели!“