HTML-Mail
Hallo!
Ich habe folgendes Problem:
Versende E-mails mit use MIME::Lite.
Dies haut auch wunderbar hin. Nur ist es so, ich muss so ein blödes
html-mail versenden.
Ich will nicht den ganzen html-schmarrn in einen String packen. Ich muss
lediglich ein paar Werte ändern.
Zur Erklärung ein kleines Beispiel:
sub htmlBody
{
print <<<EOT
<html-code> ....
<BR>
<TABLE>
<TR><TD colspan='2'><FONT style='COLOR: black; FONT: 12pt/15pt
arial'><B> Übermittlungsinformationen </FONT></B></TD></TR>
<TR><TD valign='top'><FONT style='COLOR: black; FONT: 9pt/12pt
arial'><B> Gesendet an: </B></FONT></TD><TD valign='top'><FONT
style='COLOR: black; FONT: 9pt/12pt arial'> #SENDTO# </FONT></TD></TR>
.....
</HTML>
EOT;
}
Nun will ich dies als String zurückbekommen und die Werte #SENDTO# durch
meinen wert ersetzen und dann per mail senden.
Bin leider perl-Anfänger und mir fällt keine Lösung ein, mir der dich
das Problem elegant lösen könnte.
Vielleicht hat jemand eine Idee für mich.
lg Christian
Re: HTML-Mail
Christian Vallant wrote:
> Ich will nicht den ganzen html-schmarrn in einen String packen. Ich muss
> lediglich ein paar Werte ändern.
Nicht in einen String packen?
> Zur Erklärung ein kleines Beispiel:
> sub htmlBody
> {
> print <<<EOT
> <html-code> ....
> <BR>
> <TABLE>
> <TR><TD colspan='2'><FONT style='COLOR: black; FONT: 12pt/15pt
> arial'><B> Übermittlungsinformationen </FONT></B></TD></TR>
> <TR><TD valign='top'><FONT style='COLOR: black; FONT: 9pt/12pt
> arial'><B> Gesendet an: </B></FONT></TD><TD valign='top'><FONT
> style='COLOR: black; FONT: 9pt/12pt arial'> #SENDTO# </FONT></TD></TR>
> ....
> </HTML>
> EOT;
>
> Nun will ich dies als String zurückbekommen
Als String zurückbekommen?
> und die Werte #SENDTO# durch
> meinen wert ersetzen und dann per mail senden.
> Bin leider perl-Anfänger und mir fällt keine Lösung ein, mir der dich
> das Problem elegant lösen könnte.
Ich verstehe wahrscheinlich nicht genau, was Du vorhast.
Aber fangen wir mal an: Was spräche gegen diese Variante ...
...
my $htmlBody = q{
<html-code> ....
<BR>
...
<B> Gesendet an: </B></FONT></TD><TD valign='top'>
<FONT style='COLOR: black; FONT: 9pt/12pt arial'> #SENDTO# </FONT></TD></TR>
...
</HTML>};
my $rcpt = 'bigboss [at] whitehouse.gov';
$htmlBody =~ s/#SENDTO#/$rcpt/;
...
Viele Grüße
M.
Re: HTML-Mail
Mirco Wahab wrote:
> Christian Vallant wrote:
>> Ich will nicht den ganzen html-schmarrn in einen String packen. Ich
>> muss lediglich ein paar Werte ändern.
>
> Nicht in einen String packen?
> Ich verstehe wahrscheinlich nicht genau, was Du vorhast.
> Aber fangen wir mal an: Was spräche gegen diese Variante ...
>
> ...
> my $htmlBody = q{
> <html-code> ....
> <BR>
> ...
> <B> Gesendet an: </B></FONT></TD><TD valign='top'>
> <FONT style='COLOR: black; FONT: 9pt/12pt arial'> #SENDTO#
> </FONT></TD></TR>
> ...
> </HTML>};
>
> my $rcpt = 'bigboss [at] whitehouse.gov';
>
> $htmlBody =~ s/#SENDTO#/$rcpt/;
> ...
Genau das war es, danke vielmals!
lg
Re: HTML-Mail
On Fri, 20 Jul 2007 11:00:38 +0200, Christian Vallant wrote:
> Ich will nicht den ganzen html-schmarrn in einen String packen. Ich muss
> lediglich ein paar Werte ändern.
Als Alternative zu der anderen Lösung:
sub htmlBody
{
my ($rcpt, $string1, $string2) = [at] _;
print <<<EOT
<html-code> ....
<BR>
<TABLE>
<TR><TD colspan='2'><FONT style='COLOR: black; FONT: 12pt/15pt
arial'><B> Übermittlungsinformationen </FONT></B></TD></TR>
<TR><TD valign='top'><FONT style='COLOR: black; FONT: 9pt/12pt
arial'><B> Gesendet an: </B></FONT></TD><TD valign='top'><FONT
style='COLOR: black; FONT: 9pt/12pt arial'> $rcpt </FONT></TD></TR>
....
</HTML>
EOT;
}
Du übergibst halt die Strings, die du haben willst, und weist diese
Variablen zu, die du mit ausgibst.
Grüße, Till
--
int getRandomNumber()
{
return 4; //chosen by fair dice roll.
} //guaranted to be random.