Konsolen SMTP-Client
Konsolen SMTP-Client
Ich möchte von Skripts aus Mails versenden können, und zwar über eine bestehende EMail-Adresse (GMX). Daher brauche ich keinen MTA, sondern einfach einen SMTP-Client für die Konsole...
Auf der Suche bin ich auf "mail" gestossen. Aber ich zweifle, ob das das ist, was ich suche, denn nirgends finde ich die Möglichkeit zur Angabe von Benutzername und Passwort der SMTP-Authorisierung.
Hat mir jemand einen Tip? - Irgendwie scheint mir hier alles etwas vermischt zu sein zwischen "nur" Clients und Servern / MTAs... (natürlich liegt das an mir, weil ich den Überblick nicht hab)
- Adrian
Auf der Suche bin ich auf "mail" gestossen. Aber ich zweifle, ob das das ist, was ich suche, denn nirgends finde ich die Möglichkeit zur Angabe von Benutzername und Passwort der SMTP-Authorisierung.
Hat mir jemand einen Tip? - Irgendwie scheint mir hier alles etwas vermischt zu sein zwischen "nur" Clients und Servern / MTAs... (natürlich liegt das an mir, weil ich den Überblick nicht hab)
- Adrian
hi,
hier ist ein kleines perl-skript, welches deine aufgabe erledigt.
( du musst nur das modul Net::SMTP_auth installieren, am einfachsten geht das wenn du
"cpan" in einer shell aufrufst und dann "install Net::SMTP_auth").
die option debug kannst du auch gerne auf 0 setzen, dann verschwindet der smtp-output.
[edit] ach ja, man ruft es mit "mail.pl empfänger nachricht" auf. die benutzerdaten für den smtp server kannst du im skript setzen
mfg
mauser
hier ist ein kleines perl-skript, welches deine aufgabe erledigt.
( du musst nur das modul Net::SMTP_auth installieren, am einfachsten geht das wenn du
"cpan" in einer shell aufrufst und dann "install Net::SMTP_auth").
die option debug kannst du auch gerne auf 0 setzen, dann verschwindet der smtp-output.
[edit] ach ja, man ruft es mit "mail.pl empfänger nachricht" auf. die benutzerdaten für den smtp server kannst du im skript setzen
mfg
mauser
Code: Alles auswählen
1 #!/usr/bin/perl -w
2 #mail.pl
3 use Net::SMTP_auth;
4
5 die "Kein Empfänger angegeben" unless defined $ARGV[0];
6 die "Kein Nachrichtentext angegeben" unless defined $ARGV[1];
7
8
9
10 my $username="user\@mailserver.de";
11 my $password="secret";
12 my $recipient=$ARGV[0];
13 my $server='mail.mailserver.de';
14
15 $smtp = Net::SMTP_auth->new($server,Timeout=>10,Debug=>1);
16 die "Couldn't connect to server" unless $smtp ;
17 $smtp->auth('CRAM-MD5',$username,$password);
18 $smtp->mail($username);
19 $smtp->to($recipient);
20
21 $smtp->data();
22 $smtp->datasend("To: $recipient\n");
23 $smtp->datasend("\n");
24 $smtp->datasend("$ARGV[1]\n");
25 $smtp->dataend();
26 $smtp->quit;
- herrchen
- Beiträge: 3257
- Registriert: 15.08.2005 20:45:28
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Berlin
Re: Konsolen SMTP-Client
eine mail an GMX liefern, erfordert keine anmeldung am SMTP.
also sollte es "mail" tun ...
"aptitude install biabam", wenn es mit attachments sein soll.
herrchen
also sollte es "mail" tun ...
"aptitude install biabam", wenn es mit attachments sein soll.
herrchen
Ich hab jetzt noch das packet resp. das Perlskript sendEmail gefunden:
(nur in SID und Testing).
Genau das brauch ich!
man kann alles loggen lassen, die Message vom STDIN nehmen oder von Dateien... tiptop!
- Adrian
Code: Alles auswählen
apt-get install sendemail
Genau das brauch ich!
Code: Alles auswählen
sendEmail -f absender@adresse -t empfänger@adresse -u Subject -o message-file=msg.txt -s server:25 -xu smptusername -xp password -l logfile -a attachement
- Adrian
@badera:
wirklich nettes tool. hast du noch eine möglichkeit gefunden, die kopfzeilen im body feld zu entfernen?
Gruß Steffen
wirklich nettes tool. hast du noch eine möglichkeit gefunden, die kopfzeilen im body feld zu entfernen?
Code: Alles auswählen
-1 Debian packageMIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----MIME delimiter for sendEmail-526667.113955231"
This is a multi-part message in MIME format. To properly display this message you need a MIME-Version 1.0 compliant Email program.
------MIME delimiter for sendEmail-526667.113955231
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
HIER STEHT DER TEXT AUS EINER PIPE
------MIME delimiter for sendEmail-526667.113955231--