E
elle23
Gast
hallo,
ich habe nen problem mit java mail, habe den code im netz gefunden. soweit ich weiss passt das auch alles.
aber ers funktioniert nicht. ich bekomme keine fehlermeldung gar nichts, beim verschicken sollte eigentlich alles klappen. nur es kommt keinee mail an !?!?
hier der code:
hoffe ihr könnt mir helfen.
viele dank
gruß
elle
ich habe nen problem mit java mail, habe den code im netz gefunden. soweit ich weiss passt das auch alles.
aber ers funktioniert nicht. ich bekomme keine fehlermeldung gar nichts, beim verschicken sollte eigentlich alles klappen. nur es kommt keinee mail an !?!?
hier der code:
Code:
package model;
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 Mail {
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();
// properties.setProperty( "mail.smtp.port", "587");
// 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
* dieser Klasse enthalten wird.
*/
private final String user;
/**
* Ein String, der das Passwort nach der Erzeugung eines
* Objektes
* dieser Klasse enthalten wird.
*/
private final String password;
/**
* Der Konstruktor erzeugt ein MailAuthenticator Objekt
* 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 = "user";
String password = "passwd";
String senderAddress ="someone@web.de";
String recipientsAddress = "somereceiver@web.de";
String subject = "Test---f----syslog---test";
String text = "syslogtexttestbla";
String smtpHost = "mail.gmx.net";
new Mail().sendMail(smtpHost, username, password, senderAddress, recipientsAddress, subject, text);
}
}
hoffe ihr könnt mir helfen.
viele dank
gruß
elle