Om du använder JavaMail Api som tillhandahålls av Sun kan du hämta den senaste Api från Sun Downloads.
JavaMail använder egenskaper för att ladda all konfiguration till programmet.
Du måste ange:
# Värdnamn eller IP-adress för SMTP-servern
mail.smtp.host=smtp.duke.java.sun.com
# Du får massor av felsökningsinformation om
# detta är påslaget. Kommentera denna linje för att vända
# det av.
mail.debug=true
# Till e-postadressen
ttapr2004.to=duke@duke.java.sun.com
# E-postadressen Från
ttapr2004.from=duke@j2ee_fanclub.java.su…
Du kan enkelt ansluta utan att autentisera dig till SMTP-servern. Men du kan uppleva att du inte kan skicka e-post från ditt Java-program:
1. Din ip kan vara blockerad av brandväggen till Åtkomst till SMTP-server
2. Din SMTP-server blockerar avsändaradress, till-adress och kanske din ip.
3. Din SMTP-server kräver autentisering
Om din server kräver autentisering kan den här funktionen användas från internet
-------------...
public class SendMailUsingAuthentication {
private static final String SMTP_HOST_NAME = "myserver.smtphost.com";
private static final String SMTP_AUTH_USER = "mittanvändarnamn";
private static final String SMTP_AUTH_PWD = "mypwd";
private static final Sträng emailMsgTxt =
"Meddelande för bekräftelse av onlinebeställning. Inkludera även spårningsnumret.";
private static final String emailSubjectTxt = "Orderbekräftelsens ämne";
private static final String emailFromAddress = "sudhir@javacommerce.com";
// Lägg till en lista med e-postadresser som e-postmeddelandet ska skickas till
private static final String[] emailList = {
"mark@yahoo.com", "robin@javacommerce.com"};
public static void main(String args[]) throws Undantag {
SendMailUsingAuthentication smtpMailSender = new
SendMailUsingAuthentication();
smtpMailSender.postMail(emailList, emailSubjectTxt, emailMsgTxt,
emailFromAddress);
System.out.println("Skickade framgångsrikt e-post till alla användare");
}
public void postMail(String mottagare[], String ämne,
String message, String from) throws MessagingException {
boolean debug = false;
//Sätt smtp-adressen för värden
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);
// skapa ett meddelande
Meddelande msg = new MimeMessage(session);
// ange från- och till-adress
InternetAddress addressFrom = new InternetAddress(from);
msg.setFrom(adressFrom);
InternetAddress[] addressTo = new InternetAddress[recipients.length];
for (int i = 0; i < mottagare.längd; i++) {
addressTo[i] = new InternetAddress(recipients[i]);
}
msg.setRecipients(Message.RecipientType.... addressTo);
// Ange ämne och innehållstyp
msg.setSubject(ämne);
msg.setContent(meddelande, "text/plain");
Transport.send(msg);
}
/**
* SimpleAuthenticator används för att göra enkel autentisering
* när SMTP-servern kräver det.
*/
privat klass SMTPAuthenticator
utökar javax.mail.Authenticator {
public PasswordAuthentication getPasswordAuthentication() {
String användarnamn = SMTP_AUTH_USER;
String lösenord = SMTP_AUTH_PWD;
return new PasswordAuthentication(användarnamn, lösenord);
}
}
}
-------------...
Ansvarsfriskrivning - Åsikterna i denna artikel tillhandahålls av en tredje part och kanske inte överensstämmer med vår webbplats
