EMail Versand geht nicht

Begonnen von sengelking, 20 August 2013, 19:01:13

Vorheriges Thema - Nächstes Thema

Muff Potter 24

Nach über 3 Wochen vergeblichen Versuchen eine Mail zu bekommen hat es nun endlich Dank eurer Hilfe funktioniert:
Email send successfully
Den Punkt wie man(n) korrekt eine 99_myUtils erzeugt hatte ich glatt übersehen.

Herzlichen Dank an Krikan und tantor.

Nun muss ich noch sehen das ich das Rechteproblem gelöst bekomme....

tantor

Wie sieht denn nun deine Konfi für die Mails aus, habe auch noch ein Problem in der Konfi? Könntest du sie mir bitte mal senden?
FHEM mit CUL V3.4 an Raspberry Pi 3
CUL V 1.67 CUL868; nanoCUL V1.66 433MHz; 1Wire USB-Adapter 2480B
8x HM-CC-RT-DN Fw 1.3; 9x HM-LC-Bl1PBU-FM Fw2.3
11x DS1820 2xDS2408

Muff Potter 24

@tantor Brauchst du die 99_myUtils.pm oder den Aufruf in fhem ?

Ich habe gerade auch noch folgenden Fehler entdeckt:
Subroutine DebianMail redefined at ./FHEM/99_myUtils.pm line 23, <$fh> line 4.
Meine 99_myUtils sieht so aus:

##############################################
# $Id: myUtilsTemplate.pm 7570 2015-01-14 18:31:44Z rudolfkoenig $
#
# Save this file as 99_myUtils.pm, and create your own functions in the new
# file. They are then available in every Perl expression.

package main;

use strict;
use warnings;
use POSIX;

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

# Enter you functions below _this_ line.
######## DebianMail  Mail auf dem RPi versenden ############
sub
DebianMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $attach = shift;
my $ret = "";
my $sender = "hans\@wurst.de";
my $konto = "hans\@wurst.de";
my $passwrd = "12345";
my $provider = "wurst.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=yes -o message-charset=utf-8);
$ret =~ s,[\r\n]*,,g;    # remove CR from return-string
Log 1, "sendEmail returned: $ret";
}
1;

kostra

Ich habe ebenfalls folgende Meldung beim Start:
Subroutine DebianMail redefined at ./FHEM/99_myUtils.pm line 33, <$fh> line 7.
was dann zu
Error messages while initializing
führt.

Der Mail-Versand funktioniert einwandfrei. Wo wird DebianMail denn standardmäßig definiert?
Ja, ich habe mehrere *.cfg Dateien, aber ich selbst habe sub DebianMail nur in 99_myUtils.pm geschrieben.

Grüße
kostra
FHEM version Fhem 5.8
auf einer RasPi
via CUL868 V1.55

Otto123

@ Muff_Potter Da Du den Hinweis mit den Code Tags so hartnäckig ignorierst verlinke ich mal den Beitrag

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

Muff Potter 24

@ kostra:
Nach einigen Updates ist der Fehler bei mir verschwunden.

@ Otto123: Danke für den Link. Da ich nicht wusste was gemeint war habe ich einfach weiter die "zu Guttenberg Methode" gewählt. Ich gelobe feierlich Besserung...

kostra

Habe heute mal ein update force gemacht, aber an der Fehler (?) Meldung hat es nichts geändert.
FHEM version Fhem 5.8
auf einer RasPi
via CUL868 V1.55

Wernieman

schon mal im FHEM Verzeichnis einfach nur "durchgegrept"?
cd /opt/fhem
grep -r DebianMail *
- 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

kostra

Danke, ein ordentlicher Tip.
Ich habe den Befehl allerdings etwas abgeändert, da Deine Version mir auch alle Einträge in den Logfiles brachte.
/op/fhem $ grep -r "sub DebianMail" *
ergab dann genau einen Treffer:
FHEM/99_myUtils.pm: sub Debian Mail

Nicht, dass mich das jetzt weitergebracht hätte  ::)
FHEM version Fhem 5.8
auf einer RasPi
via CUL868 V1.55

centerofmadness

Hallo,

jetzt läuft alles hervorragend.
Hatte immer folgende Meldung bei meiner neuen Telekom eMail-Adresse.
"ERROR => ERROR => SMTP-AUTH: Authentication to securesmtp.t-online.de:587 failed."
Bis mir einfiel, dass ich für externe Mailprogramme ein separates Passwort vergeben muß.
Ich hoffe, ich kann mit diesem Eintrag einigen Anwendern das Suchen erleichtern.

MfG

und danke für die tolle Arbeit in diesem Forum!

fgraf

Hallo!

Ich weiß, dass dieser Beitrag schon etwas zurück liegt. Jedoch stehe ich aktuell vor dem gleichen Problem.

Ich kann über putty mit folgendem Befehl E-Mails über sendemail versenden:

sendemail -f 'Ab\@send.er' -t 'Emp\@faeng.er' -u 'subject' -m 'text' -a 'DateinameOderLeer' -s 'smtpFQDN:port' -xu 'MailUser' -xp 'PasswortOhneKlammeraffen'

Auch der E-Mail-Versand über FHEM funktioniert mit folgendem Befehl:

{qx(sendemail -f 'Ab\@send.er' -t 'Emp\@faeng.er' -u 'subject' -m 'text' -a 'DateinameOderLeer' -s 'smtpFQDN:port' -xu 'MailUser' -xp 'PasswortOhneKlammeraffen')}

Jedoch funktioniert die SUB-Routine (DebianMail) nicht.

In meine 99_myUtils.pm habe ich folgendes eingefügt:

######## DebianMail  Mail auf dem RPi versenden ############
# $provider für SMTP Server anpassen.
# Einmal in der FHEM Kommandozeile, user und password anpassen:
# {setKeyValue("myEmailKonto",'user@domain');;setKeyValue("myEmailPasswrd",'password')}
sub DebianMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $attach = shift;
my $ret = "";
my $error;
my $konto = getKeyValue("myEmailKonto");
my $passwrd = getKeyValue("myEmailPasswrd");
my $from = $konto; # or use different KeyValue if konto is not the from email address
my $provider = "smtp.1und1.de"; # smtp.domain.tld:port see provider documentation
#Log 1, "sendEmail RCP: $rcpt";
#Log 1, "sendEmail Subject: $subject";
#Log 1, "sendEmail Text: $text";
#Log 1, "sendEmail Anhang: $attach";
if (not defined($attach)){$attach=''}
$ret .= qx(sendemail -f '$from' -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";
}
###############################################################################

In FHEM habe ich folgendes ausgeführt:

{setKeyValue("myEmailKonto",'user@domain');;setKeyValue("myEmailPasswrd",'password')}

Jedoch bekomme ich beim ausführen weder eine E-Mail noch eine Fehlermeldung:

{DebianMail("email\@email.domain","Subject","Text")}

Über Tipps und Tricks wäre ich euch sehr dankbar.

Otto123

Hi,

bekommst Du im FHEM Log einen Log Eintrag?
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

ollir

@fgraf

Zitatmy $provider = "smtp.1und1.de"; # smtp.domain.tld:port see provider documentation

Der Port fehlt "smtp.1und1.de:587"

Otto123

Zitat von: ollir am 25 Juni 2021, 11:56:20
@fgraf

Der Port fehlt "smtp.1und1.de:587"
funktioniert bei mir auch ohne, findet er normal selbst.
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

Frank_Huber

#74
https://hilfe-center.1und1.de/tablets-und-notebooks-c84083/samsung-c84328/android-70-c85535/e-mail-konto-imappop3-einrichten-samsung-tablets-mit-android-7-a796781.html
sagt es sollte
my $provider = "smtp.1und1.de:465"; # smtp.domain.tld:port see provider documentation
sein.

Und es braucht TLS vermutlich ab Version 1.2. Die Provider deaktivieren alle nach und nach 1.0 / 1.1.