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
Christian Vallant [ Fr, 20 Juli 2007 11:00 ] [ ID #1774484 ]

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.
Mirco Wahab [ Fr, 20 Juli 2007 11:12 ] [ ID #1774485 ]

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
Christian Vallant [ Fr, 20 Juli 2007 11:31 ] [ ID #1774487 ]

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.
Till Potinius [ Fr, 20 Juli 2007 11:29 ] [ ID #1774488 ]
Perl » de.comp.lang.perl.misc » HTML-Mail

Vorheriges Thema: printf oder etwas anderes?
Nächstes Thema: Array Verarbeitung - Elemente verketten