Email-Benachrichtigung mit Perl und SMTP

Begonnen von wkarl, 20 Dezember 2013, 20:44:58

Vorheriges Thema - Nächstes Thema

wkarl

Hallo,

folgendes habe ich Fedora 20 realisiert.

Zuerst perl-Module

  • perl-Net-SMTP-SSL (NET::SMTP::SSL)
  • perl-Authen-SASL (Athen::SASL ; wichtig für die Authentifizierung)
installieren.

In 99_MyUtilsExt.pm ist folgendes sub definiert
######## My_AlarmEmail ##################################################
# What  : Sends a email
# Call  : { My_AlarmEmail('Subject','text 123') }
# Source:
# Prereq: - Linux (here Fedora) needs fhem-installation from fhem.de
#
sub
My_AlarmEmail($$) {
        my $subject = $_[0];
  my $text = $_[1];
my $smtpuid = "loginUID\@provider.de";
my $smtppwd = "loginPWD";
my $smtpfrom = "fromUID\@provider.de";
my $smtp = Net::SMTP::SSL->new("smtp.provider.de",
                        Port => 465,
                        Timeout => 60,
                        Debug => 1);
die "Could not connect to server!\n" unless $smtp;

$smtp->auth($smtpuid,$smtppwd);
$smtp->mail($smtpfrom);
$smtp->to($smtpuid);

$smtp->data();
$smtp->datasend("Priority: High\n");
$smtp->datasend("From: $smtpfrom\n");
$smtp->datasend("To: $smtpuid\n");
$smtp->datasend("Subject: $subject\n");
$smtp->datasend("$text\n");
$smtp->datasend("\n");
$smtp->dataend();
$smtp->quit;
}


Aufgerufen wird das sub z.B. wenn der Batteriestatus eines Gerätes auf low geht.

ciao walter
FHEM 5.7 & TabletUI 2.2 auf Fedora22 Server auf NUC5i5RYK
CUL 868 > FAST EnergyCam
HMLAN > HomeMatic TCs & VDs, Bewegungsmelder, Schalter, Taster, Steckdosen