Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]214[/thread]

Formular wird per Mail verschickt, aber ohne Inhal (Seite 2)



<< |< 1 2 >| >> 18 Einträge, 2 Seiten
piero
 2004-03-30 15:09
#1744 #1744
User since
2004-03-03
98 Artikel
BenutzerIn
[default_avatar]
Hallo,
vielen Dank für die Hilfe.
Das Skript funktioniert fast 100%, z.b. mit der formatierten Ausgabe. Der zeigt mir jetzt folgendes:

cyxv<br />xcy<br />yvcx<br /><br />

obwohl ich folgenden content-type angeben habe:

<META http-equiv=content-type content=text/html;charset=iso-8859-1>

Wenn ich folgende Zeile in meinem Skript lösche oder auskommentiere, dann bekomme ich keine E-Mail.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">

Woran kann es liegen?

Hier ist nochmals der komplette Code:

Vielen Dank.

Code: (dl )
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#!/usr/bin/perl -w                                                 
                                                                 
use MIME::Base64;                                                  
use strict;                                                        
use warnings;                                                      
use CGI;                                                          
use CGI::Carp qw(fatalsToBrowser);                                
                                                                 
open(M, "|/usr/sbin/sendmail -t");                                
                                                                 
print M "To: Piero <gior\@imap>\n";                                
                                                                 
print M "Subject: Test\n";                                        
                                                                 
my ($Feld, $Name, $Wert);                                          
my %Formular;                                                      
                                                                 
my $cgi=CGI->new();                                                
print $cgi->header(-type=>'text/html');                            
%Formular=$cgi->Vars();                                            
                                                                 
#print "Nicht formatierte Ausgabe:\n\n";                          
print M '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">', "\n";
print  "<html><head><title>CGI-Feedback</title></head>\n";
print  "<body><h1>Kundenerfassung</h1>\n";                
print M "Art: $Formular{ART}\n";                          
print M "Nummer: $Formular{NUMMER}\n";                    
print M "Kurzname: $Formular{KURZNAME}\n";                
print M "Name1: $Formular{NAME1}\n";                      
print M "Name2: $Formular{NAME2}\n";                      
print M "Name3: $Formular{NAME3}\n";                      
print M "Straße: $Formular{STRASSE}\n";                  
print M "Land: $Formular{LAND}\n";                        
print M "PLZ: $Formular{PLZ}\n";                          
print M "Ort: $Formular{ORT}\n";                          
print M "Postfach: $Formular{POSTFACH}\n";                
print M "Postfach-Plz: $Formular{POSTFACH_PLZ}\n";        
print M "Telefon: $Formular{TELEFON}\n";                  
print M "Fax: $Formular{FAX}\n";                          
print M "Mobil: $Formular{MOBIL}\n";                      
print M "Klassifizierung: $Formular{Klasse}\n";          
print M "MwSt: $Formular{MWST}\n";                        
print M "UST_IDENT_NR: $Formular{UST_IDENT_NR}\n";        
print M "Abteilung1: $Formular{Abteilung1}\n";            
print M "Abteilung2: $Formular{Abteilung2}\n";            
print M "Abteilung3: $Formular{Abteilung3}\n";            
print M "VK: $Formular{VK}\n";                                                  
print M "Lieferbedingung: $Formular{LIEFERBEDINGUNG}\n";                        
print M "Zahlungsbedingungen: $Formular{ZAHLUNGSBEDINGUNGEN}\n";                
print M "Kreditlimit: $Formular{KREDITLIMIT}\n";                                
print M "Ansprech_Name: $Formular{ANSPRECH_NAME}\n";                            
print M "Ansprech_Vorname: $Formular{ANSPRECH_VORNAME}\n";                      
print M "Ansprch_Abt: $Formular{ANSPRECH_ABT}\n";                              
print M "Ansprech_Funktion: $Formular{ANSPRECH_FUNKT}\n";                      
print M "Vertriebsgebiet: $Formular{VERTRIEBSGEBIET}\n";                        
print M "Produktzielgruppe: $Formular{PRODUKTZIELGRUPPE}\n";                    
print M "Verfasser: $Formular{VERFASSER}\n";                                    
print M "Bemerkung: $Formular{BEMERKUNGEN}\n";                                  
print M "-----------------------------------------------------------------------
--------------------------------------------------------------------------------
-----\n\n";                                                                    
                                                                               
#print "Formatierte Ausgabe:\n\n";                                              
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">', "\n";              
print "<html><head><title>CGI-Feedback</title><META http-equiv=content-type cont
ent=text/html;charset=iso-8859-1></head>\n";                                    
print M "$Formular{KURZNAME}<br />";                                            
print M "$Formular{NAME1}<br />";                                              
print M "$Formular{NAME2}<br />";                                              
print M "$Formular{NAME3}<br />";        
print M "$Formular{STRASSE}";            
print M "$Formular{LAND}";              
print M "$Formular{PLZ}";                
print M "$Formular{ORT}";                
print M "$Formular{POSTFACH}";          
print M "$Formular{POSTFACH_PLZ}";      
                                       
print $cgi->h2('E-Mail wurde versendet');
                                       
close(M);


edit renee: schließende [code]-Tags eingefügt\n\n

<!--EDIT|renee|1080710550-->
jan
 2004-03-30 15:24
#1745 #1745
User since
2003-08-04
2536 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
1
2
3
open(M, "|/usr/sbin/sendmail -t");
print M "To: Piero <gior\@imap>\n";
print M "Subject: Test\n";


sollte eher werden zu:

Code: (dl )
1
2
3
4
5
open(M, "|/usr/sbin/sendmail -t");
print M "To: Piero <gior\@imap>\n";
print M "From: Pieros Script <formmailer\@imap>\n";
print M "Subject: Test\n";
print M "Content-type: text/html\n\n";


wenn ich mich nicht irre. damit sollte dann auch der content-type korrekt sein. möglich aber auch, dass der vor den anderen header-definitionen kommen muss, bezweifle ich aber (lässt sich ja aber, falls es nicht geht, nachschauen, zB hier: [http://www.thomas-fahle.de][/url])
piero
 2004-03-30 16:31
#1746 #1746
User since
2004-03-03
98 Artikel
BenutzerIn
[default_avatar]
Hallo,
vielen DANK, es funktioniert alles. Ihr seid die BESTEN.
Nur hätte ich da noch eine kleine Frage.
Kann man mit einem Befehl die Lokale IP-Adresse auslesen?
Grund:
Ich will nämlich folgendes damit erreichen:

print M "From: Name <e-mail adresse>\n;

In einer Datei steht der der Name und die E-Mailadresse, z.B.
IP_Adresse Name E-Mail
145.0.54.2 Sepp Sepp@hallo.de

Das Perl liest die Lokale IP-Adresse aus, sucht die IP-Adresse in der Datei und füllt die Felder "Name" und "e-mail adresse" aus.
Ist das zu realisieren?

Und noch eine Frage zur formatierten Ausgabe.
Ist es möglich sowohl als Linksbünding und zugleich rechtsbünding auszugeben, z.B.
Vorher:
Name1: Sepp
N2: blablablabla

Nachher:
Name1: Sepp
N2: blablablabla

Danke.
jan
 2004-03-30 16:56
#1747 #1747
User since
2003-08-04
2536 Artikel
ModeratorIn
[Homepage] [default_avatar]
was meinst du mit "lokale IP-Adresse"? die IP des Surfers (Client) oder deines Servers, der die email verschickt?

und dein links- und rechtsbündigkeits-thema würde ich über tabellen lösen, wenn du ohnehin html benutzt. erste spalte linksbündig, zweite rechtsbündig.
piero
 2004-03-30 17:04
#1748 #1748
User since
2004-03-03
98 Artikel
BenutzerIn
[default_avatar]
Hallo,
ich meine die IP-Adresse des Surfers. Jeder Surfer hat eine statische IP-Adresse.

Das mit den Tabellen hatte ich mir auch überlegt, hatte nur gedacht, dass es vielleicht eine andere Lösung geben würde.

Kann man in Perl auch Buttons Programmieren?
Beispiel:
Wenn man das Formular jetzt versendet, dann steht da:
E-Mail versendet.

Ich würde da gerne noch drunter ein Button haben:
Neue Eingabe

und wenn man draufklickt, dann lädt sich das Formular nochmals neu, damit man es neu ausfüllen kann.
coax
 2004-03-30 17:16
#1749 #1749
User since
2003-08-11
457 Artikel
BenutzerIn
[default_avatar]
$ENV{'REMOTE_ADDR'} enthaelt ueblicherweise die Client-IP.

Das mit deinen Button ist noch nicht ganz klar fuer mich.
,,Das perlt aber heute wieder...'' -- Dittsche
jan
 2004-03-30 17:25
#1750 #1750
User since
2003-08-04
2536 Artikel
ModeratorIn
[Homepage] [default_avatar]
den button würde ich als fauler mensch so lösen:
<input type="reset" value="Formular leeren">

;)
format_c
 2004-03-31 15:58
#1751 #1751
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
oder mit CGI (was eh verwendet wird) ;p
print CGI::reset('Formular leeren');
Edit: Aber ist in diesem Fal relativ overkill, da er eh schon HTML-Code plain ins Programm schreibt.

Gruß ALex\n\n

<!--EDIT|format_c|1080734376-->
<< |< 1 2 >| >> 18 Einträge, 2 Seiten



View all threads created 2004-03-30 12:56.