Mail versenden mit java.mail

Xanond

Mitglied
Hallo ich plane über mein Programm mails zu versenden und hab auch scho die java.mail api erfolgreich installiert. Leider kapier ich das nicht ganz. Ich möchte meine mails von jedem Benutzer aus senden können z.B uber den localhost von jedem Benutzer den ich dann auch noch rausfinden müsste. Am besten wäre ein einfaches beispiel wo es jemand schon gechaft hat eine mail zu versenden.
 
Hallo nochmal also ich hab folgenden code:

Java:
props.setProperty( "mail.pop3.host", "securepop.t-online.de" );
    props.setProperty( "mail.pop3.user", user );
    props.setProperty( "mail.pop3.password", pass );
    props.setProperty( "mail.pop3.port", "995" );
    props.setProperty( "mail.pop3.auth", "true" );
    props.setProperty( "mail.pop3.socketFactory.class",
                       "javax.net.ssl.SSLSocketFactory" );

    // Zum Senden
   /* props.setProperty( "mail.smtp.host", "smtp-mail.outlook.com" );
    props.setProperty( "mail.smtp.auth", "true" );
    props.setProperty( "mail.smtp.port", "587" );
    props.setProperty( "mail.smtp.socketFactory.port", "587" );
    props.setProperty( "mail.smtp.socketFactory.class",
                       "javax.net.ssl.SSLSocketFactory" );
    props.setProperty( "mail.smtp.socketFactory.fallback", "false" );*/

    props.setProperty( "mail.smtp.host", "securesmtp.t-online.de" );
    props.setProperty( "mail.smtp.auth", "true" );
    props.setProperty( "mail.smtp.port", "465" );
    props.setProperty( "mail.smtp.socketFactory.port", "465" );
    props.setProperty( "mail.smtp.socketFactory.class",
                       "javax.net.ssl.SSLSocketFactory" );
    props.setProperty( "mail.smtp.socketFactory.fallback", "false" );


aber die Verbindung kann nicht hergestellt werden er sagt mir immer ich habe einen falschen user oder passwort
 
Code bitte in Code-Tags packen, danke! 🙂
[java] ... dein code ... [/java]

Okay danke

Ich versuch mein Problem nochmal genauer zu erläutern:

Java:
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package mail;

import java.io.IOException;
import java.util.Arrays;
import java.util.Properties;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Store;
import javax.mail.Transport;
import javax.mail.internet.ContentType;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

/**
*
* @author dkast
*/
public class Mail {

    /**
     * @param args the command line arguments
     */
   private Mail() {}

  public static Session getGMailSession( String user, String pass )
  {
  
    final Properties props = new Properties();

    // Zum Empfangen
    props.setProperty( "mail.pop3.host", "securepop.t-online.de" );  //PROP
    props.setProperty( "mail.pop3.user", user );
    props.setProperty( "mail.pop3.password", pass );
    props.setProperty( "mail.pop3.port", "995" );
    props.setProperty( "mail.pop3.auth", "true" );
    props.setProperty( "mail.pop3.socketFactory.class",
                       "javax.net.ssl.SSLSocketFactory" );

    // Zum Senden nur auskommentiert weil ich von tonline and tonline senden möchte
   /* props.setProperty( "mail.smtp.host", "smtp-mail.outlook.com" );
    props.setProperty( "mail.smtp.auth", "true" );
    props.setProperty( "mail.smtp.port", "587" );
    props.setProperty( "mail.smtp.socketFactory.port", "587" );
    props.setProperty( "mail.smtp.socketFactory.class",
                       "javax.net.ssl.SSLSocketFactory" );
    props.setProperty( "mail.smtp.socketFactory.fallback", "false" );*/


    props.setProperty( "mail.smtp.host", "securesmtp.t-online.de" );
    props.setProperty( "mail.smtp.auth", "true" );
    props.setProperty( "mail.smtp.port", "465" );
    props.setProperty( "mail.smtp.socketFactory.port", "465" );
    props.setProperty( "mail.smtp.socketFactory.class",
                       "javax.net.ssl.SSLSocketFactory" );
    props.setProperty( "mail.smtp.socketFactory.fallback", "false" );

    return Session.getInstance( props, new javax.mail.Authenticator() {
      [USER=48687]@Override[/USER] protected PasswordAuthentication getPasswordAuthentication() {
        return new PasswordAuthentication( props.getProperty( "mail.pop3.user" ),
                                           props.getProperty( "mail.pop3.password" ) );
      }
    } );
//    session.setDebug( true );
  }

public static void postMail( Session session, String recipient,
                             String subject, String message )
  throws MessagingException
{
  Message msg = new MimeMessage( session );

  InternetAddress addressTo = new InternetAddress( recipient );
  msg.setRecipient( Message.RecipientType.TO, addressTo );

  msg.setSubject( subject );
  msg.setContent( message, "text/plain" );
  Transport.send( msg );
}
}

Und hier mein Aufruf:

Java:
public class test {


    public static void main(String[] args) throws MessagingException {
        // TODO code application logic here
    
          Session session = Mail.getGMailSession(
                              JOptionPane.showInputDialog( "user" ),
                              JOptionPane.showInputDialog( "pass" ) );
        Mail.postMail( session, "dkast1@t-online.de",
                    "Kurze Info", "Hab's verstanden!" );
    }
}

Mir wird bei korrekter Eingabe der Fehler angezeigt das das Passwort oder der username falsch sind.
Danke schnon mal für die Antworten 🙂
 
Zuletzt bearbeitet von einem Moderator:
Ja die Code-Tags wurden falsch geschrieben, daher hat das Forum die Email Adresse interpertiert und mittels BB-Code zu einem Email Link geändert.
Nachdem die Code-Tags gerichtet wurden, bleibt der pure BB-Code stehen 😉

EDIT: habs mal entfernt
 

Zurück
Oben