E-Mail unter Linux

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • E-Mail unter Linux

    Ich habe mir eine kleine Helper Klasse geschrieben, die mich bei Fehlern, innerhalb eines Programmes, per E-Mail informieren soll.

    Quellcode

    1. public static void main(String[] args){
    2. try {
    3. FileReader fr = new FileReader(new File("C:/sadsad"));
    4. } catch (FileNotFoundException e) {
    5. System.out.println("Fehler!");
    6. exceptionMail("ERROR - Programm", "Ganz böser Fehler:\n", e, false);
    7. }
    8. }
    9. public static void exceptionMail(String subject, String message, Exception e, boolean exit){
    10. try {
    11. Process p = Runtime.getRuntime().exec("mail vorname.nachname@yahoo.de -s \""+subject+"\" \n");
    12. BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(p.getOutputStream()));
    13. bw.write(message);
    14. if (e != null){
    15. e.printStackTrace(new PrintWriter(bw));
    16. }
    17. bw.close();
    18. } catch (IOException e1) {
    19. System.out.println(e1.getMessage());
    20. }
    21. if(exit)
    22. System.exit(1);
    23. }
    Alles anzeigen


    Irgendwie stimmt der Betreff nur nicht:

    Betreff: "ERROR
    Einer ne Idee, was ich falsch mache?!
  • Versuche mal statt

    Quellcode

    1. Process p = Runtime.getRuntime().exec("mail vorname.nachname@yahoo.de -s \""+subject+"\" \n");

    das hier:

    Quellcode

    1. Process p = Runtime.getRuntime().exec("mail vorname.nachname@yahoo.de -s '"+subject+"' \n");


    Ich glaube es liegt an den Aunführungsstrichen. Linux stolpert über die Leerzeichen. ALso liegt es möglicherweise daran.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Hafner ()

  • Freut mich, dass noch jemand zu so später Stunde unterwegs is...

    Ich hab mittlerweile eine andere Lösung gefunden:

    Quellcode

    1. public static void exceptionMail(String subject, String message, Exception e, boolean exit){
    2. try {
    3. Process p = Runtime.getRuntime().exec(new String[]{"mail", "mail@domain.com", "-s", subject});
    4. BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(p.getOutputStream()));
    5. bw.write(message);
    6. if (e != null){
    7. e.printStackTrace(new PrintWriter(bw));
    8. }
    9. bw.close();
    10. } catch (IOException e1) {
    11. System.out.println(e1.getMessage());
    12. }
    13. if(exit)
    14. System.exit(1);
    15. }
    Alles anzeigen



    Falls du doch noch Interesse am Quelltext hast, kann ich diesen auch noch posten...
  • Also es geht weder mit den einfachen, noch mit den escapten Anfürhungszeichen. Das komische is halt, dass das erste Anführungszeichen, egal ob einfach oder doppelt, im Betreff steht.

    Mail Quelltext:

    From - Wed Sep 05 04:29:00 2007
    X-Account-Key: account2
    X-UIDL: GmailId114d37f83baa3dc3
    X-Mozilla-Status: 0001
    X-Mozilla-Status2: 00000000
    X-Mozilla-Keys:
    Delivered-To: mail@domain.com
    Received: by 10.78.141.5 with SMTP id o5cs251988hud;
    Tue, 4 Sep 2007 19:28:43 -0700 (PDT)
    Received: by 10.78.150.7 with SMTP id x7mr4724648hud.1188959323058;
    Tue, 04 Sep 2007 19:28:43 -0700 (PDT)
    Return-Path: <root@nsxxxxx.ovh.net>
    Received: from nsxxxxx.ovh.net (nsxxxxx.ovh.net [91.121.22.80])
    by mx.google.com with ESMTP id r38si112207ugc.2007.09.04.19.28.42;
    Tue, 04 Sep 2007 19:28:43 -0700 (PDT)
    Received-SPF: pass (google.com: best guess record for domain of root@nsxxxxx.ovh.net designates 99.999.99.99 as permitted sender) client-ip=99.999.99.99;
    Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of root@nsxxxxx.ovh.net designates 99.999.99.99as permitted sender) smtp.mail=root@nsxxxxx.ovh.net
    Received: by nsxxxxx.ovh.net (Postfix, from userid 0)
    id B77CF52574; Wed, 5 Sep 2007 04:27:06 +0200 (CEST)
    To: mail@domain.com
    Subject: "test
    Message-Id: <20070905022706.B77CF52574@nsxxxxx.ovh.net>
    Date: Wed, 5 Sep 2007 04:27:06 +0200 (CEST)
    From: root@nsxxxxx.ovh.net (root)