Jeśli korzystasz z api JavaMail dostarczonego przez Sun, możesz pobrać najnowsze api z Sun Downloads.
JavaMail używa właściwości do załadowania całej konfiguracji do programu.
Należy określić:
# Nazwa hosta lub adres IP serwera SMTP.
mail.smtp.host=smtp.duke.java.sun.com
# Otrzymasz wiele informacji debugowania, jeśli
# jest włączona. Skomentuj ten wiersz, aby włączyć
# wyłączony.
mail.debug=true
# Adres e-mail do
ttapr2004.to=duke@duke.java.sun.com
# Adres e-mail od
ttapr2004.from=duke@j2ee_fanclub.java.su…
Możesz łatwo połączyć się bez uwierzytelniania z serwerem SMTP. Może się jednak zdarzyć, że nie będzie można wysyłać wiadomości e-mail z programu Java:
1. Twój adres IP może być blokowany przez zaporę sieciową. Dostęp do serwera SMTP
2. Twój serwer SMTP blokuje adres nadawcy, adres docelowy i być może Twój adres IP.
3. Serwer SMTP wymaga uwierzytelnienia
Jeśli serwer wymaga uwierzytelnienia, można je uzyskać z Internetu
————————————–…
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 =
"Wiadomość potwierdzająca zamówienie online. Dołącz również numer śledzenia.";
private static final String emailSubjectTxt = "Temat potwierdzenia zamówienia";
private static final String emailFromAddress = "sudhir@javacommerce.com";
// Dodaj listę adresów e-mail, na które ma zostać wysłana wiadomość e-mail
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("Pomyślnie wysłano pocztę do wszystkich użytkowników");
}
public void postMail(String recipients[], String subject,
String message, String from) throws MessagingException {
boolean debug = false;
//Ustawienie adresu smtp hosta
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);
// utworzyć wiadomość
Message msg = new MimeMessage(session);
// ustaw adres od i do
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);
// Ustawienie tematu i typu zawartości
msg.setSubject(subject);
msg.setContent(message, "text/plain");
Transport.send(msg);
}
/**
* SimpleAuthenticator służy do prostego uwierzytelniania
* gdy wymaga tego serwer SMTP.
*/
Klasa prywatna SMTPAuthenticator
extends javax.mail.Authenticator {
public PasswordAuthentication getPasswordAuthentication() {
String username = SMTP_AUTH_USER;
String password = SMTP_AUTH_PWD;
return new PasswordAuthentication(username, password);
}
}
}
————————————–…
Zastrzeżenie - poglądy wyrażone w tym artykule są dostarczane przez stronę trzecią i mogą nie odpowiadać poglądom naszej witryny.
