Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Wir haben fürs nächste Update übrigens auf der Liste den lokalen (vorhandenen) exim so umzustellen, das er auf "Orginalen" über unser Relay mit gescheiter Authentisierung&TLS an alle versenden kann; das vereinfacht die Sache wohl drastisch.. (aktuell kann das WG über den lokalen MTA nur Support-eMails an uns schicken)
Ist dem schon so Makki? Wenn ja, gehts bei mir irgendwie nicht...
Derzeit zwischen Kistenauspacken und Garten anlegen.
Baublog im Profil.
Ich hab grad mal eine generische Vorlage zum eMail-Versand via SMTP mit Authentisierung über den Lieblings-Provider ins SVN geschoben..
Das ist bewusst nur ein sinnloses, nackiges Gerüst, der Rest dürfte aber mit gegeben Beispielen lösen lassen (wie man auf eine GA reagiert oder Werte vergleicht); oder es braucht eben mehr Details dazu, was es tun soll..
Wie gesagt es geht drum auf einer bestimmten GA zu "horchen" (1 bit) und wenn ne 1 kommt ne Mail zu verschicken.
Hab den Code dazu aus nem anderen Plugin übernommen, aber es tat sich einfach nix, bis ich mal im eib.log geschaut hab, DTP war natürlich nich angegeben ...
Dann bastel ich mal bischen was und schau das ichs die Tage mal ins SVN schieb.
Danke für den Email-Code Makki, aber wäre es nicht einfacher einfach Sendmail zu nehmen, aber ich befürchte da spricht wieder irgendwas elementares dagegen
Inzwischen hab ich das hier:
Code:
my $hostname = `hostname`;
##################
### DEFINITION ###
##################
my $Empfaenger = '**@gmx.de'; # Anpassen, mehrere mit ,
my $Absender = 'WireGate <**@googlemail.com>'; # unbedingt anpassen, die Absenderadresse sollte gültig sein um Probleme zu vermeiden
my $Betreff = "eMail von $hostname";
my $text = "Test";
my $username = '**@googlemail.com'; #Anpassen! Username fuer SMTP-Server
my $password = "**"; #Anpassen! Passwort fuer SMTP-Server
my $mailserver= 'smtp.gmail.com'; # SMTP-Relay: das muss natuerlich angepasst werden!
use Net::SMTP;
use MIME::Base64;
my $trigger_ga = '8/1/1'; # Gruppenadresse Sollwert Auf = 1 / Ab = 0
# Eigenen Aufruf-Zyklus auf 1x täglich setzen, hört ja auf GA
$plugin_info{$plugname.'_cycle'} = 3600;
# Plugin an Gruppenadresse "anmelden"
$plugin_subscribe{$trigger_ga}{$plugname} = 1;
if ($msg{'apci'} eq "A_GroupValue_Write" && $msg{'dst'} eq $trigger_ga && defined $msg{'value'} && $msg{'value'} == "1" ) {
my $smtp = Net::SMTP->new($mailserver, Timeout => 5, Debug =>1) or return "Fehler beim verbinden zu $mailserver $!";
my $ret .= ' auth:'. $smtp->auth($username,$password);
$smtp->status() < 5
or do {
# Die smtp->auth Methode schlaegt fehl, also dann so
$smtp->datasend("AUTH LOGIN\n") or return 'auth login problem';
$smtp->response();
$smtp->datasend(encode_base64( $username ) ) or return "username $username cannot be encoded or wrong";
$smtp->response();
$smtp->datasend(encode_base64( $password ) ) or return "password $password cannot be encoded or wrong";
$smtp->response();
};
$ret .= 'status:' . $smtp->status();
$ret .= ' send:'. $smtp->mail($Absender);
$ret .= ' rcpt:'. $smtp->to($Empfaenger);
$ret .= $smtp->data();
$ret .= $smtp->datasend("To: $Empfaenger\n"); # Empfänger (Header)
$ret .= $smtp->datasend("Subject: $Betreff\n"); # Betreff
$ret .= $smtp->datasend("\n");
$ret .= $smtp->datasend("$text\n");
$ret .= $smtp->dataend();
$ret .= $smtp->quit;
# FIXME: check if we succeeded
return;
}
Nur wenn ich ne 1 auf die 8/1/1 schick wird zwar der Teil in der IF-Schleife ausgeführt (hab ich mir return und print überprüft), aber es wird keine Mail verschickt, und es gibt auch keine Fehlermeldung.
Ich hab da jetzt mal weiter dran getestet, und iwie scheint der Code nicht zu funktionieren Makki, frag mich nur warum.
Wenn ich das Plugin inner Konsole ausführ bekomm ich folgendes:
...
Keine Ahnung was da schief läuft, Passwort usw hab ich jetzt zehnmal gecheckt, und auch mit gmail probiert, passieren tut nix außer das oben gepostete.
gmail nimmt nur TLS oder SSL an..
-> Ich hab gestern das Plugin auf SSL geändert, da das eh alle unterstützen und das Fehlerhandling erheblich besser, so das es auch sagt, was schiefgeht: SMTP-eMail mit SSL (benötigt Paket "libnet-smtp-ssl-perl")
Alte Version mit Plaintext-Auth ist ja hier archiviert..
Hab das mal eben probiert.
Nachdem ich erstmal gefühlte 10 Extensions nachinstalliert habe , erhalt ich jetzt folgende Fehlermeldung: "SASL Auth failed ;".
Aber user und PW stimmen zu 100%, das hab ich wirklich 10mal kontrolliert, entweder mach ich was falsch oder ich bin zu blöd dazu ...
Hmm, ich hab auch sowohl mit gmail als auch mit GMX erfolgreich getestet.. evtl. komische Zeichen im Passwort oder sowas? mach um das passwort doch mal ' statt "
libauthen-sasl-perl benötigt man noch zusätzlich, die war bei mir wohl durch die Tests schon drauf, korrigiere ich im Plugin-Kommentar..
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar