|
From: <ma...@us...> - 2011-12-29 01:50:49
|
Revision: 615
http://openautomation.svn.sourceforge.net/openautomation/?rev=615&view=rev
Author: makki1
Date: 2011-12-29 01:50:42 +0000 (Thu, 29 Dec 2011)
Log Message:
-----------
WireGate-Plugin: Template for sending eMail by SMTP with auth
Modified Paths:
--------------
wiregate/plugin/generic/VPN-User-by-GA
Added Paths:
-----------
wiregate/plugin/generic/SMTP-eMail.pl
Added: wiregate/plugin/generic/SMTP-eMail.pl
===================================================================
--- wiregate/plugin/generic/SMTP-eMail.pl (rev 0)
+++ wiregate/plugin/generic/SMTP-eMail.pl 2011-12-29 01:50:42 UTC (rev 615)
@@ -0,0 +1,55 @@
+# Demo-Plugin zum eMail-Versand - einfache Version mit Text-only
+# das macht nichts sinnvolles, sendet jede Stunde ein eMail,
+# soll nur als Vorlage dienen
+
+# Aufbau moeglichst so, dass man unterhalb der Definitionen nichts aendern muss!
+
+my $hostname = `hostname`;
+
+##################
+### DEFINITION ###
+##################
+
+my $Empfaenger = 'me...@do...'; # Anpassen, mehrere mit ,
+
+my $Absender = 'WireGate <ab...@gm...>'; # unbedingt anpassen, die Absenderadresse sollte gültig sein um Probleme zu vermeiden
+my $Betreff = "eMail von $hostname";
+my $text = "email-Body";
+my $username = 'ab...@gm...'; #Anpassen! Username fuer SMTP-Server
+my $password = "meinpasswort"; #Anpassen! Passwort fuer SMTP-Server
+my $mailserver='mail.gmx.net'; # SMTP-Relay: das muss natuerlich angepasst werden!
+$plugin_info{$plugname.'_cycle'} = 3600;
+
+#######################
+### ENDE DEFINITION ###
+#######################
+
+use Net::SMTP;
+use MIME::Base64;
+
+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;
+
Modified: wiregate/plugin/generic/VPN-User-by-GA
===================================================================
--- wiregate/plugin/generic/VPN-User-by-GA 2011-12-28 18:37:09 UTC (rev 614)
+++ wiregate/plugin/generic/VPN-User-by-GA 2011-12-29 01:50:42 UTC (rev 615)
@@ -70,15 +70,15 @@
if (! -e '/etc/openvpn/connect.sh' or ! -e '/etc/openvpn/disconnect.sh') {
open(OUT, ">/etc/openvpn/connect.sh");
print OUT "#!/bin/bash\n\nif [ -e /etc/openvpn/servers/\$common_name.disabled ]; then\n";
- print OUT "\tlogger -t VPN 'refused disabled VPN-user \$common_name from \$trusted_ip'\n";
+ print OUT "\tlogger -t VPN \"refused disabled VPN-user \$common_name from \$trusted_ip\"\n";
print OUT "\texit 1\nelse \n";
- print OUT "\tlogger -t VPN '\$common_name logged in from \$trusted_ip (\$ifconfig_pool_remote_ip)'\n";
+ print OUT "\tlogger -t VPN \"\$common_name logged in from \$trusted_ip (\$ifconfig_pool_remote_ip)\"\n";
print OUT "\tVPNGA=`grep \"^\$common_name=\" /etc/openvpn/servers/VPNGA_MAP | cut -d'=' -f 2`\n";
print OUT "\tgroupswrite local:/tmp/eib \$VPNGA 1\nfi\nexit 0\n";
close(OUT);
open(OUT, ">/etc/openvpn/disconnect.sh");
print OUT "#!/bin/bash\n\n";
- print OUT "logger -t VPN '\$common_name logged out from \$trusted_ip (\$ifconfig_pool_remote_ip) T: \$time_duration S: \$bytes_sent R: \$bytes_received'\n";
+ print OUT "logger -t VPN \"\$common_name logged out from \$trusted_ip (\$ifconfig_pool_remote_ip) T: \$time_duration S: \$bytes_sent R: \$bytes_received\"\n";
print OUT "VPNGA=`grep \"^\$common_name\" /etc/openvpn/servers/VPNGA_MAP | cut -d'=' -f 2`\n";
print OUT "groupswrite local:/tmp/eib \$VPNGA 0\n";
close(OUT);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|