Schrift
[thread]434[/thread]

mit perl eine mail versenden als html formatierter

Leser: 1


<< |< 1 2 >| >> 16 Einträge, 2 Seiten
heinz.hemer
 2005-02-14 16:55
#4398 #4398
User since
2005-02-14
6 Artikel
BenutzerIn
[default_avatar]
Hallo !

Ich bekomme es einfach nicht hin.

Ich verschicke per sendmail eine Mail. Das klappt auch. Allerdings nur reiner Text. Ich möchte aber einige Worte in dem Text hervorheben, fett kursiv oder andere Farbe.

Was muss ich machen, damit sendmail auch diesen Text formatiert.

Wenn ich das so schreibe im cgi-script:

print SM "Subject: HTML-Mail\n";
print SM "Content-Type: text/html";
print SM "<p><font size="5"><strong>hhh</strong></font></p>";

erscheint das in der Mail:

Subject: HTML-Mail
Content-Type: text/html
<p><font size="5"><strong>hhh</strong></font></p>

Da wird nichts formatiert
renee
 2005-02-14 17:00
#4399 #4399
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Wenn es unbedingt sendmail sein muss, dann empfehle ich Dir CPAN:Mail::Sendmail. Wie Du damit HTML-Mails verschicken kannst, findest Du hier: http://alma.ch/perl/Mail-Sendmail-FAQ.html#HTML

Ansonsten kann ich Dir das Modul CPAN:Mail::Sender empfehlen
http://wiki.perl-community.de/bin/view/Wissensbasis/MailSender
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
heinz.hemer
 2005-02-14 17:58
#4400 #4400
User since
2005-02-14
6 Artikel
BenutzerIn
[default_avatar]
Hallo !

Vielen Dank für die Antwort, aber mein Provider hat das wohl nicht, deshalb sieht mein Script so aus:


if (-x $mail) {
open(SM, "|$mail $email");
print SM "From: $email\n";
print SM "Subject: SmartFormMail message ($date)\n\n";
foreach $key (@order_array) {
print SM "$key: $in{$key}\n";
}
print SM "Message sent on $date by SmartFormMail 1.3.1. EOT.";
close(SM);
}


Wenn ich da jetzt noch reinschreibe:

print SM "<strong>Text>/strong>";

wird es aber nicht als Fettschrift dargestellt

Muss doch irgendwie möglich dein ?
format_c
 2005-02-14 18:54
#4401 #4401
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Also bei funktioniert das prima:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
koeppea@foxi:~/perl_scripts> cat htmlmail.pl
use strict;
open(PIPE,"| `which sendmail` -t") or die $!;
print PIPE << 'ENDOFDOCUMENT';
To: [EMAIL=format_c@example.org]format_c@example.org[/EMAIL]
From: [EMAIL=koeppea@example.org]koeppea@example.org[/EMAIL]
Subject: HTML-Test
Content-type: text/html

<html><head>
<title>Meine Testmail</title></head>
<body>
<h2>Das ist eine uebschrift2</h2>
</body>
</html>

ENDOFDOCUMENT
close PIPE;
print "sent\n";
koeppea@foxi:~/perl_scripts>


Gruß Alex
heinz.hemer
 2005-02-14 19:19
#4402 #4402
User since
2005-02-14
6 Artikel
BenutzerIn
[default_avatar]
Vielen Dak, aber irgendwie ist da noch ein Fehler drin.

So sieht mein Script aus:
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
open(SM, "|$mail $in{'email'}");
print SM "From: $email\n";
print SM "Subject: $rsubject\n\n";
foreach $part (@SR_data) {

if ($parse_commands == 1) {

foreach $key (@order_array) {

$part =~ s/\<$key\>/$in{$key}/ig;

}

}

print SM $part;
}

print SM "\n\n\nGesendet mit SmartFormMail 1.3.1";
print SM " frei erhältlich bei\n";
print SM "Tectonic Designs ([URL=http://tectonicdesigns.com]http://tectonicdesigns.com[/URL])\n";
print SM << 'ENDOFDOCUMENT';

Content-type: text/html

<html><head>
<title>Meine Testmail</title></head>
<body>
<h2>Das ist eine uebschrift2</h2>
</body>
</html>

ENDOFDOCUMENT
close(SM);



Und das kommt dabei raus:

Error occurred: 500 - internal server error\n\n

<!--EDIT|renee|1108420097-->
format_c
 2005-02-14 19:54
#4403 #4403
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
1. Solltest du use CGI::Carp qw/fatalsToBrowser/; verwenden um Meldungen auf STDERR auch im browser zu sehen, falls du keine andere Möglichkeit eines Zugangs hast.

Du machst nach dem Subject eine Leerzeile \n\n. Das sagt dem MailUserAgent (MailProgramm) jetzt gehts mit dem Body der mail weiter. Der Content-type gehört jedoch in den Header.

Außerdem solltest du noch eine Statusmeldung an den Browser schicken, da der Browser eine Ausgabe (Mindestens den HTTP-Header) Erwartet.

Gruß Alex
heinz.hemer
 2005-02-14 20:02
#4404 #4404
User since
2005-02-14
6 Artikel
BenutzerIn
[default_avatar]
Ich hab jetzt mal alles überflüssige entfernt und nur dieses hier stehengelassen:

open(SM, "|$mail $in{'email'}");
print SM << 'ENDOFDOCUMENT';
From: $email\n"
Subject: $rsubject\n\n
ENDOFDOCUMENT
close (SM);

Und dieses passiert:

Error occurred: 500 - internal server error


Hat denn keiner eine Idee ?
format_c
 2005-02-14 20:12
#4405 #4405
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Ein anderes Beispiel:
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
use strict;
use CGI::Carp qw/fatalsToBrowser/;
my $mailbin = '/usr/bin/sendmail';
my $to = 'user@example.org';
my $from = 'me@example.org';
my $subject = 'Mein Thema';

my $html = qq[
<html><body><strong>Fetter Text</strong></body></html>
];

open SM,"| $mailbin" or die $!;
print SM "To: $to\n";
print SM "From: $from\n";
print SM "Subject: $subject\n";
print SM "Content-type: text/html\n";
print SM "\n";# Hier ist der Mail header zu ende!!!!!!!!
print SM $html;
close SM;

# Jetzt noch die Status Meldung für den Browser
print "Content-type: text/plain\n\n";
print "Mail sent";

exit;


Gruß alex
renee
 2005-02-15 00:36
#4406 #4406
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Zum Thema 500er kann ich nur http://wiki.perl-community.de/bin....rror500 empfehlen...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Strat
 2005-02-15 01:09
#4407 #4407
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
da fehlt wieder mal die abfrage auf fehler beim close...
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
<< |< 1 2 >| >> 16 Einträge, 2 Seiten



View all threads created 2005-02-14 16:55.