Eine Email von Script versenden (über SMTP)

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von joekey, 19.11.2008.

  1. #1 joekey, 19.11.2008
    Zuletzt von einem Moderator bearbeitet: 19.11.2008
    joekey

    joekey Grünschnabel

    Dabei seit:
    14.10.2008
    Beiträge:
    4
    Zustimmungen:
    0
    Hallo,

    ich würde gern eine Email vom Shell-Script verschicken. Ich habe mail und mailx auf dem Rechner installiert. Intern innerhalb des netzwerkes kann ich die Mails verschicken. Das Problem ist diese ausserhalb vom Netzwerk zu verschicken. Es hängt mit der SMTP Einstellgungen. Ich muss mich am Ausgangserver mit dem Username und Password authentifizieren.

    Könnte mir jemand den Weg schrittweise Erklären? Vor allem würde ich am liebsten eine Möglichkeit präferieren, bei der ich smtp Einstellungen direkt im Script definiere (quasi lokal für den konkreten Versand).

    Hier sind die Logindaten zu einem Test-Mailaccount:
    Email: mickey.m1@gmx.net
    User: mickey.m1@gmx.net
    Pass: editiert und entfernt
    Pop-Server: pop.gmx.net
    Smtp-Server: mail.gmx.net
    IP (mail.gmx.net): 213.165.64.21
    IP (mail.gmx.net): 213.165.64.20

    Vielen dank.

    Joe
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 Wolfgang, 19.11.2008
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Du willst nicht wirklich, dass alle Welt deine Daten kennt.
    Dann kannst du diesen Account gleich in die Tonne treten.
    Was ich nach einer Stunde schon anraten würde.

    Zu deinem Problem:
    Ich kann dir hier mal ein Perlscript anbieten, was du an deine Bedingungen anpassen solltes.
    Code:
    smtp-auth
    Mail versenden
    
    #!/usr/bin/perl
     
    use Net::SMTP::SSL;
     
    my ($user, $pass, $host, $port);
     
    $user = 'username'; # manchmail auch username@domain.tld
    $pass = 'password'; # das passwort
    $rcpt = 'username@domain.tld'; # volle Empfänger-Adresse
    $host = 'mail.gmx.net'; # bzw. dein smtp server
    $port = 465; # mögliche ports: 25, 465, 587
     
    my $smtp = Net::SMTP::SSL->new( $host, 
                     Port => $port,
                     Debug => 0) or die "$@:$!";
     
    if($smtp->auth($user, $pass)) {
      print "SMTP Auth: success.\n";
    } else {
        $smtp->quit();
        exit;
    }
     
    $smtp->mail($rctp);
    $smtp->to($rcpt);
    $smtp->data;
    while (<>) {
        $smtp->datasend($_);
    }
    $smtp->dataend;
    $smtp->quit;
    
    data kommt hier über die Standardeingabe und ist neben deinen Daten auch anzupassen.

    Oder du richtest deinen Mailserver als Smarthost ein.
    Dazu findest du genügend Hinweise im Netz.

    Gruß Wolfgang
     
  4. joekey

    joekey Grünschnabel

    Dabei seit:
    14.10.2008
    Beiträge:
    4
    Zustimmungen:
    0
    Hallo Wolfgang,

    danke für deine Antwort. Ich habe dein Script in ein File mit der Endung pl geschrieben. Auf dem Server (Unix - Mac) ist Perl installiert. Ein anderes Script der nur eine Zeile ausschreibt funktioniert. Wenn ich dein Script ausführe bekomme ich folgende Meldung:
    $ testEmail2.pl
    /Users/locadmin/joe/bin/testEmail2.pl: line 1: smtp-auth: command not found

    Ist mein erster Script in Perl aber sollten die ersten zwei Zeilen nicht ein Kommentar (also mit Raute #) sein?

    Und wenn ich diese Zeilen auskommentiere, bekomme ich folgende Fehler:
    $ testEmail2.pl
    /Users/locadmin/joe/bin/testEmail2.pl: line 6: use: command not found
    /Users/locadmin/joe/bin/testEmail2.pl: line 8: syntax error near unexpected token `$user,'
    /Users/locadmin/joe/bin/testEmail2.pl: line 8: `my ($user, $pass, $host, $port);'

    Kommt mir vor dass mir noch was grundsätzliches fehlt, weil die commands nicht erkannt werden.

    Hättest du da eine Idee?

    Danke Joe.
     
  5. #4 aspire_5652, 20.11.2008
    aspire_5652

    aspire_5652 Tripel-As

    Dabei seit:
    02.01.2008
    Beiträge:
    198
    Zustimmungen:
    0
    Du musst deinen Rechner als Mailserver konfigurieren. Das geht am besten mit postfix - sollte standardmäßig schon installiert sein. Hier wird genau das beschreiben was du suchst:
    http://wiki.ubuntuusers.de/Postfix#GMX

    Habe ich selbst schon erfolgreich so konfiguriert. Halte dich also an die Installationsschritte.
    Dann kannst du auch ganz normal mit mailx via bash oder Script Mails versenden.
     
  6. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

Eine Email von Script versenden (über SMTP)

Die Seite wird geladen...

Eine Email von Script versenden (über SMTP) - Ähnliche Themen

  1. Exim4 - Faxmaster und andere Emailadressen im lokalen System eines Domänen-PCs

    Exim4 - Faxmaster und andere Emailadressen im lokalen System eines Domänen-PCs: Moin Gemeinde, ich habe viele Debian Systeme in mehreren Domains. Auf allen läuft Exim4 mit eigentlich immer derselben Konfig. Dem System wird...
  2. Outlook-Emails in einem Linux-Emailclient öffnen

    Outlook-Emails in einem Linux-Emailclient öffnen: Hallo! Habe hier fünf msg-Dateien bekommen. Das sind Mails aus Outlook, teilweise mit großen, inkludierten Anhängen. Die kleinen davon kann...
  3. Eine Abennementemail nach der anderen für die gleiche Antwort

    Eine Abennementemail nach der anderen für die gleiche Antwort: Hi, ich habe vor kurzem hier (http://www.unixboard.de/vb3/showthread.php?46955-Netbook-startet-nicht-(No-such-Partition)&p=354653#post354653)...
  4. Postfach eines Users mit Email Client abrufen

    Postfach eines Users mit Email Client abrufen: Hallo, wollt mal fragen ob es möglich ist, mit einem handelsüblichen E-Mailclient ein Postfach eines Linux Systemusers abzurufen. Also die...
  5. Email aus einem shell skript versenden.

    Email aus einem shell skript versenden.: Hallo, ich habe ein Problem. Ich benötige ein HPUX Shell Skript das eine Email mit einem Anhang an eine bestimmte Email-Adresse per SMTP...