Достъп до SMTP сървъра - как мога да удостоверя истинността на пощата, която изпращам, с помощта на smtp сървъра?

Ако използвате JavaMail api, предоставено от Sun, можете да получите най-новото api от 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 сървър изисква удостоверяване

Ако сървърът ви изисква удостоверяване, това е възможно от интернет.
————————————–…
публичен клас 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 = "Order Confirmation Subject";
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[]) хвърля изключения {
SendMailUsingAuthentication smtpMailSender = new
SendMailUsingAuthentication();
smtpMailSender.postMail(emailList, emailSubjectTxt, emailMsgTxt,
emailFromAddress);
System.out.println("Успешно изпратена поща до всички потребители");
}

public void postMail(String recipients[], String subject,
String message, String from) хвърля 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 = нов SMTPAuthenticator();
Session session = Session.getDefaultInstance(props, auth);

session.setDebug(debug);

// създаване на съобщение
Съобщение msg = ново 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 {

публична парола за удостоверяване getPasswordAuthentication() {
String username = SMTP_AUTH_USER;
String password = SMTP_AUTH_PWD;
връщане на нов PasswordAuthentication(username, password);
}
}
}
————————————–…

Отказ от отговорност - мненията, изразени в тази статия, са предоставени от трета страна и може да не съвпадат с тези на нашия уебсайт

Този запис беше публикуван в SMTP Questions. Добавете отметки към permalink.

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

Всеки знае, че надеждният SMTP сървър е ключът към правилното доставяне на електронната поща. Също така е добре известно, че вече НИКОЙ не предлага SMTP без удостоверяване или за отворено предаване. НО ВСЕ ОЩЕ МОЖЕТЕ ДА ПОЛУЧИТЕ ВИСОКОКАЧЕСТВЕН SMTP СЪРВЪР БЕЗПЛАТНО ЗА ПОЛЗВАНЕ!

Кликнете тук за вашия безплатен SMTP сървър