Доступ к SMTP-серверу - как я могу проверить подлинность почты, которую я отправляю с помощью smtp-сервера?

Если вы используете API JavaMail, предоставляемое компанией Sun, вы можете скачать его последнюю версию на сайте Sun Downloads.
JavaMail использует свойства для загрузки всех настроек в программу.
Необходимо указать:
# Имя хоста или IP-адрес вашего SMTP-сервера
mail.smtp.host=smtp.duke.java.sun.com

# Вы получите много отладочной информации, если
# — эта опция включена. Чтобы отключить, закомментируйте эту строку
# — выключить.
mail.debug=true

# Адрес электронной почты получателя
ttapr2004.to=duke@duke.java.sun.com

# Адрес отправителя
ttapr2004.from=duke@j2ee_fanclub.java.su…

Вы можете без проблем подключиться к SMTP-серверу без аутентификации. Однако может случиться так, что вы не сможете отправить электронное письмо из своей Java-программы:
1. Ваш IP-адрес может быть заблокирован брандмауэром, чтобы Доступ к SMTP-серверу
2. Ваш SMTP-сервер блокирует адреса отправителей, адреса получателей и, возможно, ваш IP-адрес.
3. Ваш SMTP-сервер требует аутентификации

Если ваш сервер требует аутентификации, я получил эту информацию из Интернета
————————————–…
public class SendMailUsingAuthentication {

private static final String SMTP_HOST_NAME = "myserver.smtphost.com";
private static final String SMTP_AUTH_USER = "myusername";
private static final String SMTP_AUTH_PWD = "mypwd";

private static final String emailMsgTxt =
"Сообщение о подтверждении онлайн-заказа. Также укажите номер отслеживания.";
private static final String emailSubjectTxt = "Тема письма с подтверждением заказа";
private static final String emailFromAddress = "sudhir@javacommerce.com";

// Добавить список адресов электронной почты, на которые необходимо отправить письмо
private static final String[] emailList = {
"mark@yahoo.com", "robin@javacommerce.com"};

public static void main(String args[]) throws Exception {
SendMailUsingAuthentication smtpMailSender = new
SendMailUsingAuthentication();
smtpMailSender.postMail(emailList, emailSubjectTxt, emailMsgTxt,
emailFromAddress);
System.out.println("Письмо успешно отправлено всем пользователям");
}

public void postMail(String recipients[], String subject,
String message, String from) throws MessagingException {
boolean debug = false;

//Указать адрес SMTP-сервера
Properties props = new Properties();
props.put("mail.smtp.host", SMTP_HOST_NAME);
props.put("mail.smtp.auth", "true");

Authenticator auth = new SMTPAuthenticator();
Session session = Session.getDefaultInstance(props, auth);

session.setDebug(debug);

// создать сообщение
Message msg = new MimeMessage(session);

// задать адреса отправителя и получателя
InternetAddress addressFrom = new InternetAddress(from);
msg.setFrom(addressFrom);

InternetAddress[] addressTo = new InternetAddress[recipients.length];
for (int i = 0; i < recipients.length; i++) {
addressTo[i] = new InternetAddress(recipients[i]);
}
msg.setRecipients(Message.RecipientType…. addressTo);

// Установка темы и типа содержимого
msg.setSubject(subject);
msg.setContent(message, "text/plain");
Transport.send(msg);
}

/**
* SimpleAuthenticator используется для простой аутентификации
* если этого требует SMTP-сервер.
*/
частный класс SMTPAuthenticator
расширяет javax.mail.Authenticator {

public PasswordAuthentication getPasswordAuthentication() {
String username = SMTP_AUTH_USER;
String password = SMTP_AUTH_PWD;
return new PasswordAuthentication(username, password);
}
}
}
————————————–…

Отказ от ответственности - Мнения, выраженные в этой статье, предоставлены третьей стороной и могут не совпадать с мнением нашего сайта

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Всем известно, что наличие надежного SMTP-сервера - это ключ к правильной доставке электронной почты. Также хорошо известно, что никто больше не предлагает SMTP без аутентификации или открытой ретрансляции. НО ВЫ ВСЕ ЕЩЕ МОЖЕТЕ ПОЛУЧИТЬ ВЫСОКОКАЧЕСТВЕННЫЙ SMTP-СЕРВЕР БЕСПЛАТНО В СВОЕ ПОЛЬЗОВАНИЕ!

Нажмите здесь, чтобы получить БЕСПЛАТНЫЙ SMTP-сервер