Email senden MailDev

guguli

Bekanntes Mitglied
Hallo zusammen,

Ich buntze eine VM mit centos drauf und docker um eine MailDev so wie es hier beschrieben zum laufen zu bringen:
https://github.com/djfarrelly/MailDev#

Mit dem folgenden Befehl läuft dann der container:
docker run --name srvm-smtp -p 1080:80 -p 1025:25 djfarrelly/maildev bin/maildev --web 80 --smtp 25 --outgoing-host smtp.office365.com --outgoing-secure --outgoing-user '<user>' --outgoing-pass '<pwd>'

Es funktioniert und ich kann die Seite auch in meinem Browser aufrufen. Nun möchte ich eine java programm schrieben, das eine Email and diesem MailDev sendet.

Hab im Internet dieses Beispiel gefunden:

Code:
public class SendEmail {

   public static void main(String[] args) {
        // Recipient's email ID needs to be mentioned.
         String to = "...";

         // Sender's email ID needs to be mentioned
         String from = "example@gmail.de";

         String host = "...";

         // Get system properties
         Properties properties = System.getProperties();

         // Setup mail server
         properties.setProperty("mail.smtp.host", host);

         // Get the default Session object.
         Session session = Session.getDefaultInstance(properties);

         try {
            // Create a default MimeMessage object.
            MimeMessage message = new MimeMessage(session);

            // Set From: header field of the header.
            message.setFrom(new InternetAddress(from));

            // Set To: header field of the header.
            message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));

            // Set Subject: header field
            message.setSubject("This is the Subject Line!");

            // Now set the actual message
            message.setText("This is actual message");

            // Send message
            Transport.send(message);
            System.out.println("Sent message successfully....");
         } catch (MessagingException mex) {
            mex.printStackTrace();
         }
   }

}

1. ich weiss nicht was für diese Variablen setzen soll:
Code:
// Recipient's email ID needs to be mentioned.
         String to = "...";
      String host = "...";

2. ich hab versucht mit meiner Privaten Emailadresse an <user> wie oben im docker run befehl steht eine mail zu schicken, es kommt aber nicht an, weil anscheinend die Adresse unknown ist.

Kann mir einer einen Tipp geben wie ich diese variablen setzen kann?

Danke
 
Afaik sollte host der Docker-Container (bzw seine IP) sein und to einfach die email des Empfängers (was jede beliebige sein kann)
 
Also ich habe versucht das Programm aus m eclipse heraus zu starten und zwar eine Email von meiner privaten Adresse zu einer Anderen Adresse zu schicken. den host hab ich dann auf localhost gesetzt. ich kriege aber:
com.sun.mail.util.MailConnectException: Couldn't connect to host, port: localhost, 25; timeout -1;

und zwar an dieser Stelle:
Code:
Transport.send(message);

kann mir einer sagen wo mein problem ist? danke
 
also das bekomme ich wenn ich ping localhost mach:

Pinging LTKMO01.trivadis.com [::1] with 32 bytes of data:
Reply from ::1: time<1ms
Reply from ::1: time<1ms
Reply from ::1: time<1ms
Reply from ::1: time<1ms

Ping statistics for ::1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
 
MrBrown wollte, dass du überprüfst, ob ein Dienst auf Port 25 läuft. Das könnte man mit Hilfe von telnet machen oder über eine Auflistung, der geöffneten Ports. Das dient der Überprüfung, ob überhaupt etwas da ist, mit dem sich dein Programm verbinden kann.
Ein Ping ist diesem Fall nicht aussagekräftig.
 
So ich habe
netstat -an gemacht und port 25 wird nicht aufgelistet.
@Bitfehler telnet geht bei mir nicht ich bekomme
>telnet 25
'telnet' is not recognized as an internal or external command,
operable program or batch file.
 
danke erst mal.
Ich würde aber sehr gerne zu meinem ursprungproblem kommen.
Und zwar eine Mail an Maildev zu senden von meiner Provaten emailadresse.

ich habe den obigen Code so angepasst:
Code:
 String to = "TVD@example.com";
 String host = "localhost";
dann habe ich draus ein runnable jar file gemacht und diese dann in meiner VM ausgführt:
java -jar sendEmail.jar

die mail wird gesendet und ich bekomme auch "Sent message successfully....". aber wenn ich in meinem Browser MailDev Seite mit MyVMIPAdress:1080 aufrufe dann sehe ich keine eingegangene Mails.

Habt ihr vllt da eine Idee?
 
die mail wird gesendet und ich bekomme auch "Sent message successfully....". aber wenn ich in meinem Browser MailDev Seite mit MyVMIPAdress:1080 aufrufe dann sehe ich keine eingegangene Mails.

hast du immer noch die Daten für outgoing-Mails konfiguriert? Dann senden MailDev die afaik über den Account einfach weiter.

Was willst du denn eigentlich mit MailDev machen?
Einfach nur an MailDev eine Mail senden, ist ja hoffentlich nicht dein Ziel?
 
die daten habe ich wie folgt konfiguriert, und zwar beim docker run:
docker run --name srvm-smtp -p 1080:80 -p 1025:25 djfarrelly/maildev bin/maildev --web 80 --smtp 25 --outgoing-host smtp.office365.com --outgoing-secure --outgoing-user '<user>' --outgoing-pass '<pwd>'

oder was genau meinst, wo kann ich denn sonst die outgoing-Mails konfiguriert?
 
Möchtest du denn überhaupt, dass alle Mails, die du über MailDev sendest, auch wirklich über deinen echten Mail Account als echte Mail an den angegebenen Empfänger gehen?
Das bezweckt das outgoing
 
Also ich möchte mailDev als mailserver benutzen, so die mails sollen in maildev ankommen und von dort aus weitergeschickt werden.
Hab nun mein java code etwas angepasst und nun die Mails kommen an Maildev an.
Nun möchte ich das Relay benutzen und diese weiter verschicken an to adresse.

und wenn ich das tue dann kriege ich folgende Error:
Code:
Error: 140109841066792:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:../deps/openssl/openssl/ssl/s23_clnt.c:827:

Kann mir einer hier weiterhelfen?

Danke
 

Zurück
Oben