Created
January 18, 2011 06:48
-
-
Save mvaz/784061 to your computer and use it in GitHub Desktop.
send email with javax.mail (taken from http://www.tutorials.de/java/255387-email-mit-javamail-versenden.html)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package de.tutorials; | |
import java.util.Date; | |
import java.util.Properties; | |
import javax.mail.Authenticator; | |
import javax.mail.Message; | |
import javax.mail.PasswordAuthentication; | |
import javax.mail.Session; | |
import javax.mail.Transport; | |
import javax.mail.internet.InternetAddress; | |
import javax.mail.internet.MimeMessage; | |
/** | |
* @author zeja | |
*/ | |
public class SendMailExample { | |
public void sendMail(String smtpHost,String username,String password,String senderAddress,String recipientsAddress,String subject,String text ){ | |
MailAuthenticator auth = new MailAuthenticator(username, password); | |
Properties properties = new Properties(); | |
// Den Properties wird die ServerAdresse hinzugefügt | |
properties.put("mail.smtp.host", smtpHost); | |
// !!Wichtig!! Falls der SMTP-Server eine Authentifizierung | |
// verlangt | |
// muss an dieser Stelle die Property auf "true" gesetzt | |
// werden | |
properties.put("mail.smtp.auth", "true"); | |
// Hier wird mit den Properties und dem implements Contructor | |
// erzeugten | |
// MailAuthenticator eine Session erzeugt | |
Session session = Session.getDefaultInstance(properties, auth); | |
try { | |
// Eine neue Message erzeugen | |
Message msg = new MimeMessage(session); | |
// Hier werden die Absender- und Empfängeradressen gesetzt | |
msg.setFrom(new InternetAddress(senderAddress)); | |
msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse( | |
recipientsAddress, false)); | |
// Der Betreff und Body der Message werden gesetzt | |
msg.setSubject(subject); | |
msg.setText(text); | |
// Hier lassen sich HEADER-Informationen hinzufügen | |
msg.setHeader("Test", "Test"); | |
msg.setSentDate(new Date( )); | |
// Zum Schluss wird die Mail natürlich noch verschickt | |
Transport.send(msg); | |
} | |
catch (Exception e) { | |
e.printStackTrace( ); | |
} | |
} | |
class MailAuthenticator extends Authenticator { | |
/** | |
* Ein String, der den Usernamen nach der Erzeugung eines | |
* Objektes<br> | |
* dieser Klasse enthalten wird. | |
*/ | |
private final String user; | |
/** | |
* Ein String, der das Passwort nach der Erzeugung eines | |
* Objektes<br> | |
* dieser Klasse enthalten wird. | |
*/ | |
private final String password; | |
/** | |
* Der Konstruktor erzeugt ein MailAuthenticator Objekt<br> | |
* aus den beiden Parametern user und passwort. | |
* | |
* @param user | |
* String, der Username fuer den Mailaccount. | |
* @param password | |
* String, das Passwort fuer den Mailaccount. | |
*/ | |
public MailAuthenticator(String user, String password) { | |
this.user = user; | |
this.password = password; | |
} | |
/** | |
* Diese Methode gibt ein neues PasswortAuthentication | |
* Objekt zurueck. | |
* | |
* @see javax.mail.Authenticator#getPasswordAuthentication() | |
*/ | |
protected PasswordAuthentication getPasswordAuthentication() { | |
return new PasswordAuthentication(this.user, this.password); | |
} | |
} | |
public static void main(String[] args) { | |
String username = ""; | |
String password = ""; | |
String senderAddress ="";//someone@web.de | |
String recipientsAddress = ""; //somereceiver@web.de | |
String subject = "Test"; | |
String text = "text"; | |
String smtpHost = "smtp.web.de"; | |
new SendMailExample().sendMail(smtpHost, username, password, senderAddress, recipientsAddress, subject, text); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment