BlackBoard » Design, Programmierung & Entwicklung » Programmieren » Perl [wer kann das?] newsletter abmeldungsscript » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen [wer kann das?] newsletter abmeldungsscript
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Pille
BlackBoarder


images/avatars/avatar-1585.jpg

Dabei seit: 02.09.2001
Beiträge: 1.493

[wer kann das?] newsletter abmeldungsscript       Zum Anfang der Seite springen

hi,
ist hier jemand in der lage meinen folgenden wunsch erfüllen zu können?
ich bräuchte ein script, das am ende einer email verlinkt wird.
über diesen link soll der user dann auf eine seite kommen, auf der er seine emailadresse eintragen und dann abschicken kann. diese soll dann in einer datei gespeichert werden (am besten .txt - eine adresse pro zeile).

als kleines extra könnte ich mir noch einen kommentar bereich vorstellen. dieser wird dann bei absenden der emailadresse über eben diese an eine vorgegebene adresse gesendet. der kommentar soll jedoch keine pflichteingabe sein.

gruß pille smile



PS: wer einen link zu einem solchen script kennt oder sonst etwas dazu sagen kann - ich bitte darum

__________________
Es gibt keine dummen Fragen ... nur dumme Antworten!

21.02.2004 19:41 Pille ist offline E-Mail an Pille senden Beiträge von Pille suchen
Black Star Black Star ist männlich
Der Pate [Admin]


images/avatars/avatar-2158.jpg

Dabei seit: 11.12.2001
Beiträge: 2.282
Herkunft: /dev/stderr

      Zum Anfang der Seite springen

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
#!/usr/bin/perl -w

use strict;
use CGI;

my $cgi = new CGI;

my $email = $cgi->param('unsubscribe');

print $cgi->header();
print $cgi->start_html(-title=>"unsubscribe");


if ( $email eq "" ) {
	print $cgi->startform(-action => 'unsubscribe.pl', -method => 'POST');
	print "unsubscribe: ".$cgi->textfield(-name=>'unsubscribe',-size=>'50',-maxlength=>'50');
	print $cgi->submit("send").$cgi->reset("reset");
}
else {
	my ($name, $domain) = split(/@/, $email);
	
	if ( $name eq "" || $domain eq "") {
		print "name or domain is empty";
	}
	elsif ( $name =~ /\W/ && ! $name =~ /[\.-_]/ ) {
		print "name contains illegal charakters!";
	}
	elsif ( $domain =~ /\W/ && ! $domain =~ /[\.-_]/ ) {
		print "name contains illegal charakters!";
	}
	elsif ( length($name) < 3 || length($domain) < 6 ) {
		print "This email address is too short";	
	}
	elsif ( ! $domain =~ /[\w\.-_]+\.[\D\D]+/ ) {
		print "invalid domain";
	}
	else {
		print "unsubsribing: $email";
		
		open (FILE,  "./unsubscribe.txt") or die "cannot create/open unsubscribe.txt!";
		prinf FILE $email."\n";
		close FILE;
	}
}


print $cgi->end_html();

Es ist Karnevall und me > 1.0 promille.

Das script laeuft fehlerfrei, aber es sind noch fehler beim haerten des scriptes aufgetreten (length z.B.)

probier mal ein bisschen rum.....

um mails zu verschicken brauchst du das perl::smtp-modul.
Probiermal perldoc smtp.

hab ich persoenlich noch nie benutzt.

EDIT:

Das Modul heisst Net::SMTP
also: 1) installieren 2) sudo -u anyfucker perldoc Net::SMTP (perldoc darf aus Sicherheitsgruenden nicht als root ausgefuehrt werden)

__________________
vescere bracis meis

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Black Star: 23.02.2004 12:00.

22.02.2004 18:26 Black Star ist offline E-Mail an Black Star senden Homepage von Black Star Beiträge von Black Star suchen
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
BlackBoard » Design, Programmierung & Entwicklung » Programmieren » Perl [wer kann das?] newsletter abmeldungsscript

Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH