Αν χρησιμοποιείτε το 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 χωρίς έλεγχο ταυτότητας. Ωστόσο, ενδέχεται να διαπιστώσετε ότι δεν μπορείτε να στείλετε email από το πρόγραμμα 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 = "Θέμα επιβεβαίωσης παραγγελίας";
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);
// δημιουργία μηνύματος
Μήνυμα 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),;
}
}
}
————————————–…
Αποποίηση ευθυνών - Οι απόψεις που εκφράζονται σε αυτό το άρθρο παρέχονται από ένα 3ο μέρος και μπορεί να μην ταιριάζουν με εκείνες της ιστοσελίδας μας
