HTML-Mail

HTML-Mail

am 20.07.2007 11:00:38 von Christian Vallant

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;
}

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

am 20.07.2007 11:12:49 von Mirco Wahab

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 << > ....
>

>

Übermittlungsinformationen
Gesendet an:   style='COLOR: black; FONT: 9pt/12pt arial'> #SENDTO#

>
>
> ....
>
> 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{
....


...
Gesendet an:  

...
};

my $rcpt = 'bigboss@whitehouse.gov';

$htmlBody =~ s/#SENDTO#/$rcpt/;
...


Viele Grüße

M.

Re: HTML-Mail

am 20.07.2007 11:29:53 von Till Potinius

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) = @_;
print <<
....




Übermittlungsinformationen
Gesendet an:   > style='COLOR: black; FONT: 9pt/12pt arial'> #SENDTO#

#SENDTO#




....

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.

Re: HTML-Mail

am 20.07.2007 11:31:42 von Christian Vallant

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{
> ....
>

> ...
> Gesendet an:  


> ...
> };
>
> my $rcpt = 'bigboss@whitehouse.gov';
>
> $htmlBody =~ s/#SENDTO#/$rcpt/;
> ...

Genau das war es, danke vielmals!

lg

Übermittlungsinformationen
Gesendet an:   style='COLOR: black; FONT: 9pt/12pt arial'> $rcpt

> #SENDTO#
>