Mailtags f. Sendmail im Body
Kurti
- perl
0 Chriss0 Kurti0 Klaus Mock0 Kurti0 Klaus Mock0 Kurti
Moin Leuts!
Ich habe folgendes Problem:
Dieses Script versendet zwar Mails an den entsprechenden Empfaenger, jedoch wird nur das To:-Tag in den Haeder der Mail geschrieben. From:-Tag und Subject werden in den Body geschrieben. :-()
Achja, $currentadr wird in einer while-schleife aus einer Datei gelesen...
Weiss jemand Rat? Hab hier schon rumprobiert, mit direkten PRINT-Anweisungen, aber alles hilft nix..
In anderen Scripts die genauso aufgebaut sind hauts hin..
Waere dankbar fuer Hilfe!
Kurti
===============cut===================
$mailprog = "/usr/sbin/sendmail";
$subject = $Formular{'betr'};
$adress = $Formular{'adressen'};
$text = $Formular{'text'};
$sendername = "DanFun NewsletterBot";
$sendermail = 'newsletter@danfun.com';
open(MAIL,"|$mailprog -t") or die "Fehler beim Oeffnen von SENDMAIL $!";
print MAIL <<"[END]";
To: $currentadr
From: $sendermail ($sendername)
Subject: $subject
$text
[END]
close(MAIL) or die "Fehler beim Versenden der Mail: $!";
===============cut===================
Hi Kurti,
ist nur so ne Vermutung, aber könnte es sein, dass am Ende von "$currentadr" aus irgend einem Grund 2 Zeilenumbrüche stehen ("\n\n"). Dies ist für Sendmail das Zeichen, das nun keine Header mehr folgen...
Gruss
Chriss
Hi Kurti,
Hi Chris!
ist nur so ne Vermutung, aber könnte es sein, dass am Ende von "$currentadr" aus irgend einem Grund 2 Zeilenumbrüche stehen ("\n\n"). Dies ist für Sendmail das Zeichen, das nun keine Header mehr folgen...
Danke fuer den Tip! Das wars leider nicht.. *heul*
Kurti
Hi,
ist nur so ne Vermutung, aber könnte es sein, dass am Ende von "$currentadr" aus irgend einem Grund 2 Zeilenumbrüche stehen ("\n\n"). Dies ist für Sendmail das Zeichen, das nun keine Header mehr folgen...
Danke fuer den Tip! Das wars leider nicht.. *heul*
Da Du die Adresse aus einer Datei liest, kann das aber schon sein. Du hats uns leider nicht den Teil gepostet, wo Du die Adresse aus der Datei liest.
Was passiert, wenn Du das ganze nicht an sendmail schickst, sondern in eine Datei schreibst, was steht dann dort drin?
Was passiert, wenn Du die Headerzeilen in einer anderen Reihenfolge ausgibst?
Grüße
Klaus
Hi,
Hi Klaus!
Danke fuer den Tip! Das wars leider nicht.. *heul*
Da Du die Adresse aus einer Datei liest, kann das aber schon sein. Du hats uns leider nicht den Teil gepostet, wo Du die Adresse aus der Datei liest.
s.u. hab da den Teil, der die Adressen holt. Wie gesagt, die Mails kommen ja an, nur steht kein Absender und Subject im Haeder. Stattdessen kommt immer "Unpreviged User..."
Was passiert, wenn Du das ganze nicht an sendmail schickst, sondern in eine Datei schreibst, was steht dann dort drin?
Was passiert, wenn Du die Headerzeilen in einer anderen Reihenfolge ausgibst?
Das habe ich schon versucht. Hatte erst das From-Tag und dann das To-Tag geschrieben. Mit dem Ergebnis, dass zumindest schonmal nur noch das Subject im Body stand. Das habe ich aber trotz weiteren Umstellens nicht aendern koennen... :-()
================cut================
open(ADR, "</usr/www/users/danfun/docs/" . $adress) or die "Fehler beim Oeffnen der Ausgebdatei: $!";
while(<ADR>)
{
$currentadr = $_;
&post;
}
close(ADR);
================cut================
Danke!
Kurti
Hi Kurti,
open(ADR, "</usr/www/users/danfun/docs/" . $adress) or die "Fehler beim Oeffnen der Ausgebdatei: $!";
while(<ADR>)
{
$currentadr = $_;
Da haben wir ja den kleinen Wicht;-)
Wenn Du so aus einer Datei ausliest, dann passiert das immer zeilenweise. Und zwar _inklusive_ Zeilenumbruch.
ein kleines, schnuckeliges 'chomp', und die Welt ist wieder heil.
&post;
}
close(ADR);
btw: Vielleicht solltest Du Dir mal die Sache mit Übergabewerten an Funktionen ansehen.
Das alles könnte dann so aussehen:
================cut================
open(ADR, "</usr/www/users/danfun/docs/" . $adress) or die "Fehler beim Oeffnen der Ausgebdatei: $!";
while(<ADR>)
{
chomp;
&sende_das_mail($_);
}
close(ADR);
sub sende_das_mail
{
my($currentadr) = shift;
#Rest der Senderoutine
}
================cut================
Naja, ist ja Geschmacksfrage, aber das mit dem 'chomp' ist schon wichtig.
Grüße
Klaus
Hi Kurti,
Hi Klaus!
Da haben wir ja den kleinen Wicht;-)
*g*
Wenn Du so aus einer Datei ausliest, dann passiert das immer zeilenweise. Und zwar _inklusive_ Zeilenumbruch.
grmpf, ja, klar.. :-() *vordieStirnklatsch*
ein kleines, schnuckeliges 'chomp', und die Welt ist wieder heil.
*g*
Naja, ist ja Geschmacksfrage, aber das mit dem 'chomp' ist schon wichtig.
mmmh, ja, stimmt!
Danke!! Du bist ´n Schatz! ;)
Kurti