zur Navigation

debianforum.de

die deutschsprachige Supportwebseite rund um das Debian-Projekt

Zum Inhalt


 
 
 
  • Foren-Übersicht ‹ Hardware und Anwendungen ‹ Programm gesucht

[gelöst] Mailversand über Kommandozeile (mailx mit TLS)

Antwort erstellen
10 Beiträge • Seite 1 von 1

[gelöst] Mailversand über Kommandozeile (mailx mit TLS)

Beitragvon manes am 14.03.2012 16:00:41

hallo forum,

gnude hat auf seinem blog eine mailbenachrichtigung bei ssh-login vorgestellt.
das will ich auch haben! die mail soll aber an meinen privaten account (web.de, gmail, gmx, sowas halt) geschickt werden, und der verlangt eine authentifizierung, die Debianmailx nicht leisten kann (wenn ich das richtig sehe).
kann mir jemand ein schlankes programm empfehlen? cli bitte und mailversand reicht.

grüße
manes
Zuletzt geändert von manes am 14.03.2012 16:42:36, insgesamt 1-mal geändert.
Sometimes you have a programming problem and it seems like the best solution is to use regular expressions; now you have two problems.
David Mertz
Benutzeravatar
manes
 
Beiträge: 859
Registriert: 27.08.2007 11:26:54
Wohnort: Köln
  • Website
Nach oben

Re: womit mailversand über kommandozeile

Beitragvon Liffi am 14.03.2012 16:08:22

manes hat geschrieben: cli bitte und mailversand reicht.

mutt laesst sich recht brauchbar scripten.
Liffi
 
Beiträge: 1697
Registriert: 02.10.2004 01:33:05
Nach oben

Re: womit mailversand über kommandozeile

Beitragvon manes am 14.03.2012 16:20:29

danke!
ich hatte an irgendetwas ganz schlankes gedacht: kann sonst nix und daher auch keine probleme bereiten.
wenn niemand mutt unterbieten kann, probiere ich es damit.

grüße
manes
Sometimes you have a programming problem and it seems like the best solution is to use regular expressions; now you have two problems.
David Mertz
Benutzeravatar
manes
 
Beiträge: 859
Registriert: 27.08.2007 11:26:54
Wohnort: Köln
  • Website
Nach oben

Re: womit mailversand über kommandozeile

Beitragvon Liffi am 14.03.2012 16:25:39

Oder halt direkt mit mailx:
Code: Alles auswählen
mailx -v -s "$EMAIL_SUBJECT" \
-S smtp-use-starttls \
-S ssl-verify=ignore \
-S smtp-auth=login \
-S smtp=smtp://smtp.gmail.com:587 \
-S from="$FROM_EMAIL_ADDRESS($FRIENDLY_NAME)" \
-S smtp-auth-user=$FROM_EMAIL_ADDRESS \
-S smtp-auth-password=$EMAIL_ACCOUNT_PASSWORD \
-S ssl-verify=ignore \
-S nss-config-dir=~/.mozilla/firefox/xxxxxxxx.default/ \
$TO_EMAIL_ADDRESS


EDIT:: Siehe auch hier: http://fclose.com/b/linux/1411/
Das nss-config-dir wirst du dir vermutlich sparen koennen.

EDIT2: Ohne firefox wuerde ich Debianssmtp empfehlen. Klein und steht nicht im Weg.
Liffi
 
Beiträge: 1697
Registriert: 02.10.2004 01:33:05
Nach oben

Re: womit mailversand über kommandozeile

Beitragvon manes am 14.03.2012 16:41:31

cool! danke nochmal!
mailx ist auf der kiste schon drauf und kann das vermisste also doch.

grüße
manes
Sometimes you have a programming problem and it seems like the best solution is to use regular expressions; now you have two problems.
David Mertz
Benutzeravatar
manes
 
Beiträge: 859
Registriert: 27.08.2007 11:26:54
Wohnort: Köln
  • Website
Nach oben

Mailversand Kommandozeile (mailx mit TLS)

Beitragvon manes am 14.03.2012 21:04:15

also für alle nochmal zum mitschreiben:
mailx ist ein virtuelles paket und enthält bsd-mailx oder heirloom-mailx. mit Debianbsd-mailx geht das hier nicht, aber Debianheirloom-mailx hat die notwendigen konfigurationsmöglichkeit.

in die ~/.bashrc des users einfügen:
Code: Alles auswählen
# mail schicken bei login in meinem useraccount
/home/<user>/login_news.sh


gleichnamiges script erstellen:
Code: Alles auswählen
echo 'Login on' `hostname` `who` | mailx -s "Login on `hostname` `who|awk '{print $1, $3, $4, $5}'`"  <mailanschrift_des_users>

und ausführbar machen.
~/.mailrc :
Code: Alles auswählen
#mailkonfiguration fürs skriptgesteuerte mailversenden
set smtp-use-starttls
set ssl-verify=ignore
set smtp=<smtp-zugang-des-mailproviders:port>  # z.b. smtp://mail.gmx.net:25 oder smtp://smtp.gmail.com:587
set smtp-auth=login
set smtp-auth-user=<mailanschrift_des_users>
set smtp-auth-password="<passwort_des_mailaccounts_im_klartext>"
set from=<mailanschrift_des_users>


ab sofort wird bei jedem login ratzfatz eine mail verschickt. so richtig glücklich wäre ich, wenn eine nachricht nur rausgeht, wenn der login nicht über eine lokale ip erfolgt…

security-problem: mailzugang im klartext im userverzeichnis.

vielen dank für die unterstützung!
Sometimes you have a programming problem and it seems like the best solution is to use regular expressions; now you have two problems.
David Mertz
Benutzeravatar
manes
 
Beiträge: 859
Registriert: 27.08.2007 11:26:54
Wohnort: Köln
  • Website
Nach oben

Re: Mailversand Kommandozeile (mailx mit TLS)

Beitragvon Liffi am 15.03.2012 07:38:18

manes hat geschrieben:ab sofort wird bei jedem login ratzfatz eine mail verschickt. so richtig glücklich wäre ich, wenn eine nachricht nur rausgeht, wenn der login nicht über eine lokale ip erfolgt…

Kannst du $5 nicht danach untersuchen?
Liffi
 
Beiträge: 1697
Registriert: 02.10.2004 01:33:05
Nach oben

Re: Mailversand Kommandozeile (mailx mit TLS)

Beitragvon manes am 15.03.2012 16:14:40

Liffi hat geschrieben:Kannst du $5 nicht danach untersuchen?

ach, ich quäle mich (und gelegentlich das forum hier) seit jahren mit meinen bash-einzeilern. immer wieder tutorials lesen (und sie sind alle gleich!) macht langsam keinen spaß mehr, weil die lernkurve allzu flach verläuft. die antwort auf deine frage lautet: nein. :?

grüße
manes
Sometimes you have a programming problem and it seems like the best solution is to use regular expressions; now you have two problems.
David Mertz
Benutzeravatar
manes
 
Beiträge: 859
Registriert: 27.08.2007 11:26:54
Wohnort: Köln
  • Website
Nach oben

Re: Mailversand Kommandozeile (mailx mit TLS)

Beitragvon Liffi am 16.03.2012 10:40:22

manes hat geschrieben:ach, ich quäle mich (und gelegentlich das forum hier) seit jahren mit meinen bash-einzeilern.

Vielleicht solltest du noch eine 'richtig' Skriptsprache dazunehmen.
Auch wenn in awk, sed und der bash eigentlich alles möglich ist, fühlen sich viele Dinge in Perl oder Python einfacher an.
Wenn du möglichst dich an der shell bleiben möchtest, würde ich Perl empfehlen.

Dann säh das möglicherweise so aus (orientiert sich sehr stark an deiner Lösung und ist nicht wirklich gut, zeigt aber, dass es nicht so schwer ist, das ganze in Perl umzusetzen):

Code: Alles auswählen
#!/usr/bin/perl

my $hostname     = `hostname`;
my $who_complete = `who`;
my $who_line     = `who|awk '{print \$1, \$3, \$4, \$5}'`;
my $from         = `who|awk '{print \$5}'`;
my $email        = "<mailanschrift_des_users>";

if ( not $from =~ /localhost/ )
{
    `echo "'Login on ' $hostname $who" | mailx -s "Login on $hostname $who_line " $email`;
}


EDIT:: Disclaimer: Getestet hab ichs allerdings nicht :-)
Liffi
 
Beiträge: 1697
Registriert: 02.10.2004 01:33:05
Nach oben

Re: [gelöst] Mailversand über Kommandozeile (mailx mit TLS)

Beitragvon manes am 02.04.2012 16:27:44

vielen dank für den perl-vorschlag!
ich will ihn wohl bedenken und, wenn mal ein bißchen zeit ist, ausprobieren.
grüße
manes
Sometimes you have a programming problem and it seems like the best solution is to use regular expressions; now you have two problems.
David Mertz
Benutzeravatar
manes
 
Beiträge: 859
Registriert: 27.08.2007 11:26:54
Wohnort: Köln
  • Website
Nach oben


Antwort erstellen
10 Beiträge • Seite 1 von 1

Zurück zu Programm gesucht

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste

Willkommen!
Startseite
Chat
Wiki/Tipps
Planet
Bildergalerie
NoPaste
Links
identi.ca-Gruppe
dieses und jenes
Forum
Foren-FAQ
Registrieren
Anmelden
Suchen
Erweiterte Suche
unbeantw. Beiträge
aktive Themen



No ePatents Button
FSFE Supporter 2004 Button
top
Zum Seitenanfang
Diese Webseite ist keine offizielle Webseite des Debian Projekts.
Haftungsausschluss und Impressum – debianforum.de Verhaltensregeln

Powered by phpBB © 2000-2008 phpBB Group. Deutsche Übersetzung durch phpBB.de
Template entwickelt von Timo Salmen, basierend auf dem Debian Live Template, entwickelt von Christoph Haas.