Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden

Begonnen von Schnup, 13 November 2013, 19:16:29

Vorheriges Thema - Nächstes Thema

aloz77

Ich habe de E-Mail-Versand inkl. SSL komplett mit Perl-Mitteln gemacht, siehe 99_sendmail.pm in der Anlage.

Es müssen vorher natürlich ein paar Perl-Module installiert werden:

apt-get install libnet-smtp-ssl-perl
cpan install Net::SSLeay
cpan install IO::Socket::SSL
cpan install Authen::SASL
cpan install Net::SMTP::SSL


Also falls jemand braucht...

Intruder1956

#91
hallo,
ich habe ein Problem mit sendMail, die Nachricht wird Ordnungsgemäß verschickt.
Bekomme aber eine Perl Warnung im Logfile

2016.03.01 21:06:59 1: sendEmail RCP: meineEmail@provider.com
2016.03.01 21:06:59 1: sendEmail Subject: Balkontuer Offen
2016.03.01 21:06:59 1: sendEmail Text: Balkontuer Offen, EINBRECHER im Haus ??
2016.03.01 21:06:59 1: PERL WARNING: Use of uninitialized value $attach in concatenation (.) or string at ./FHEM/99_myUtils.pm line 29.
2016.03.01 21:06:59 1: sendEmail Anhang:
2016.03.01 21:06:59 1: PERL WARNING: Use of uninitialized value $attach in concatenation (.) or string at ./FHEM/99_myUtils.pm line 31.
2016.03.01 21:07:02 1: sendEmail returned: Mar 01 21:07:02 raspberrypi3 sendEmail[4748]: Email was sent successfully!


in der 99_myUtils.pm steht folgendes, wie auch im Wiki angegeben
Fehlerzeilen ROT markiert

package main;

use strict;
use warnings;
use POSIX;

sub
myUtils_Initialize($$)
{
  my ($hash) = @_;
}

######## DebianMail  Mail auf dem RPi versenden ############
sub
DebianMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $attach = shift;
my $ret = "";
my $sender = "FHEM\@gmail.com";
my $konto = "meineEmail\@provider.com";
my $passwrd = "xxxxxxxxxx";
my $provider = "smtp.gmail.com";
Log 1, "sendEmail RCP: $rcpt";
Log 1, "sendEmail Subject: $subject";
Log 1, "sendEmail Text: $text";
[color=red] Log 1, "sendEmail Anhang: $attach";;
[/color]
[color=red] $ret .= qx(sendEmail -f '$sender' -t '$rcpt' -u '$subject' -m '$text' -a '$attach' -s '$provider' -xu '$konto' -xp '$passwrd' -o tls=yes -o message-charset=utf-8);
[/color] $ret =~ s,[\r\n]*,,g;    # remove CR from return-string
Log 1, "sendEmail returned: $ret";
}


Wo ist der Fehler, ist doch alles wie in der Anleitung im Wiki ausgeführt

Gruß Werner
Zotac CI547 32GB RAM 500GB SSD,ESXI 6.5, VM-Fhem5.8, VM-ioBroker, Cul 868Mhz;Cul 433Mhz = Busware, LGW, HM-MOD-RPI-PCB, Uniroll, IT YCR-100 TMT2100,ITR-1500, LD382 mit Wifilight, ESA 2000 + SENSOR WZ SET,FS20 TFK, HM-Sec-SC, HM-CC-RT-DN,PCA301,

Wernieman

Kannst Du mir einen Gefallen tuen, und Zeile 29 und 31 markieren?

Sorry, bin bei einem Privatsupport "zu Faul", es mir auszuzählen ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Intruder1956

#93
moin, hahaha ist noch früh  ;) ;) ;)

Hatte oben geschrieben Zeilen sind rot markiert nur leider hat es nicht richtig geklappt
vor den beiden Zeilen steht [ color=red ]

Gruß Werner
Zotac CI547 32GB RAM 500GB SSD,ESXI 6.5, VM-Fhem5.8, VM-ioBroker, Cul 868Mhz;Cul 433Mhz = Busware, LGW, HM-MOD-RPI-PCB, Uniroll, IT YCR-100 TMT2100,ITR-1500, LD382 mit Wifilight, ESA 2000 + SENSOR WZ SET,FS20 TFK, HM-Sec-SC, HM-CC-RT-DN,PCA301,

Otto123

#94
Moin Werner,

Du hast in der myUtils attach als Übergabe mit drin, aber im Aufruf nicht - richtig? Also Du hast vorgesehen ein Attachment zu senden aber keines angegeben. Du hast zwei Möglichkeiten:

1. Du lässt die Zeile in der myUtils weg. my $attach = shift;
2. Du hängst an Deinen Aufruf noch ein ,'<hier steht nix>' an.
{DebianMail('name@willi.com','Testmail von FHEM','Testmail','');;}

Wobei ich mir nicht sicher bin ob das ohne Anhang wirklich geht. Ich verwende das so nicht, also Variante 1.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Intruder1956

moin Otto,
ok, ich setze vor dem Log1 attach ein "#"
ich schicke ja nur Text.

werde es gleich probieren, gehe auf dem Balkon rauchen  8) ;)

Danke
Zotac CI547 32GB RAM 500GB SSD,ESXI 6.5, VM-Fhem5.8, VM-ioBroker, Cul 868Mhz;Cul 433Mhz = Busware, LGW, HM-MOD-RPI-PCB, Uniroll, IT YCR-100 TMT2100,ITR-1500, LD382 mit Wifilight, ESA 2000 + SENSOR WZ SET,FS20 TFK, HM-Sec-SC, HM-CC-RT-DN,PCA301,

Otto123

ZitatLog1 attach ein "#"
das wird es nicht bringen, dann bekommst Du den zweiten Fehler immer noch.
Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Intruder1956

#97
@Otto
genau  ;D

EDIT: jetzt klappt es, also für mich erledigt

Danke
Gruß Werner
Zotac CI547 32GB RAM 500GB SSD,ESXI 6.5, VM-Fhem5.8, VM-ioBroker, Cul 868Mhz;Cul 433Mhz = Busware, LGW, HM-MOD-RPI-PCB, Uniroll, IT YCR-100 TMT2100,ITR-1500, LD382 mit Wifilight, ESA 2000 + SENSOR WZ SET,FS20 TFK, HM-Sec-SC, HM-CC-RT-DN,PCA301,

maddhin

Zitat von: Schnup am 13 November 2013, 19:16:29
 
Wenn's mit Fhem nicht klappt
Sollte es beim Aufruf der Funktion in Fhem ein Problem geben, empfiehlt es sich zuerst eine E-Mail direkt von der Raspberry Konsole zu senden. Im folgenden Beispiel werden dazu die Zugangsdaten durch die eigenen Angaben ersetzt und als "EINE" Zeile an der Konsole eingegeben:
     sendEmail -f 'Ziel@Adresse.de' -t 'absender@account.de' -u 'Betreffzeile' -m 'Test-Nachricht'
               -s 'E-Mail-Anbieter' -xu 'kontoname@account.de' -xp 'passwort' -o tls=no

 

@Schnub: könntest Du bitte diesen Absatz editieren? Hier sind Absender und Empfänger-Email vertauscht!! -f = from = Absender; -t = to = Empfänger

Danke! :P

TobiasR

Hallo,

ich wollte mal nachfragen ob jemand Erfahrung mit Web.DE hat.
Ich habe versucht die EMAIL dort einzurichten:

####### DebianMail  Mail auf dem RPi versenden ############
sub
DebianMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $attach = shift;
my $ret = "";
my $sender = " mein.name\@web.de";
my $konto = " mein.name";
my $passwrd = "mein\passwort";
my $provider = "smtp.web.de:587";
Log 1, "sendEmail RCP: $rcpt";
Log 1, "sendEmail Subject: $subject";
Log 1, "sendEmail Text: $text";
Log 1, "sendEmail Anhang: $attach";;

$ret .= qx(sendEmail -f '$sender' -t '$rcpt' -u '$subject' -m '$text' -a '$attach' -s '$provider' -xu '$konto' -xp '$passwrd' -o tls=auto -o message-charset=utf-8);
$ret =~ s,[\r\n]*,,g;    # remove CR from return-string
Log 1, "sendEmail returned: $ret";
}


Dann habe ich über die Zeile
{DebianMail('mein.name@andereadresse.de','Alarm2','AlarmGetriggert')}
versucht eine Nachrit zu senden.

In meinem Web.de Account bekoam ich eine Sicherheitswarnung.
Hat nur einmal funktioniert und ich denke dass web.de jetzt meinen Account gesperrt hat?"

Otto123

Deinen Web.de Account kannst  Du ja testen.

Ich kenne den aktuell Stand nicht, aber ich erinnere mich, dass ich irgendwann davon abgekommen bin Konten bei Web oder gmx oder anderen Freemail Providern für solche Mails zu nutzen. Die ändern ständig etwas, die werden soviel missbraucht, es ist kein Wunder, dass die nicht über solche Zugänge begeistert sind.
Aber bei mir geht es nach wie vor, ich weiß nicht ob ich bei web.de mal irgendwas "konfigurieren" musste.

probier mal die Kommandozeile direkt im TerminalsendEmail -f 'absender@web.de' -t 'empfänger@...' -u 'Hallo Welt' -m 'Das ist ein Test' -s 'smtp.web.de' -xu 'absender@web.de' -xp 'password' -o tls=auto

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

TobiasR

Hi,

es liegt vermutlich wirklich an Web.de.
Ich habe jetzt einen anderen Account benutzt und da klappts ohne Probleme!

Beste Grüße
Tobias