Проблем с e-mail-a
5 отговора
160 прегледа
Проблем с e-mail-a
За някои този въпрос може да е смешен, но аз съм на ръба на нервна криза !!!
Как да изпратя e-mail, който при получателя да изглежда като .html страница с линкове към моя сайт?
Как да изпратя e-mail, който при получателя да изглежда като .html страница с линкове към моя сайт?
Re: Проблем с e-mail-a
Ami prosto si napravi stranica, i mu ja prati kato text. Vsichko drugo samo shte si stane
Поискай си, за да ти бъде дадено !!!
Поискай си, за да ти бъде дадено !!!
Re: Проблем с e-mail-a
hmm Dimo tova ti li si?? Za takuv mail trjabva da pitash vuv Perl foruma :)) sus scriptove stava ama ne sum go pravil i ne znam tochno kak e.
Re: Проблем с e-mail-a
Ami vyprosyt ti ne e nikak smeshen. Az samiat vidiah dosta zor dokato razbera kak da go napravia shtoto na vsichkoto otgore iskah i kartinki da sloja
Po dolu sym ti paste-nal moite funkcii. Imai predvid che te sa i za vkluchvane na kartinki taka che moje da ti se naloji da iztriesh ili modificirash chastta sled komentarite(###). Kakto i da e probvai pyrvo bez da promeniash nishto, bi triabvalo da raboti. Men me myrzi sega da ia pravia samo za chist html.
Ta znachi kopirash si coda v tvoja script i sled tova vikash funkciata:
&Mail("pytia kym sendmail-a","subject","poluchatel","izprashtach","html coda na stranicata koiato iskash da izpratish");
sub Mail {
($sendm,$subj,$rec,$send,$mess)=@_;
if ( ! open(MAIL,"| $sendm -t") ) {
print("Could not start mail program");
}
my @boundaryv = (0..9, 'A'..'F');
srand(time ^ $$);
for (my $i = 0; $i++ < 24;)
{
$boundary .= $boundaryv[rand(@boundaryv)];
}
for (my $i = 0; $i++ < 24;)
{
$boundary1 .= $boundaryv[rand(@boundaryv)];
}
print MAIL "MIME-Version: 1.0\n";
print MAIL "Content-Type: multipart/related;type=\"multipart/alternative\"; boundary=\"------------$boundary\"\n";
print(MAIL "To: $rec\n");
print(MAIL "Subject: $subj\n");
print(MAIL "From: $send\n");
print(MAIL "\n");
print MAIL "This is a multi-part message in MIME format.\n";
print MAIL "--------------$boundary\n";
print MAIL "Content-Type: multipart/alternative; boundary=\"------------$boundary1\"\n\n";
print MAIL "--------------$boundary1\n";
print MAIL "Content-Type: text/html; charset=us-ascii\n";
#####################################
#####################################
print MAIL "Content-Transfer-Encoding: binary\n";
print(MAIL "\n$mess \n");
print MAIL "--------------$boundary1--\n";
foreach $picture_dir(@images){
$picture_name = $picture_dir.'QT.jpg';
print MAIL "\n--------------$boundary\n";
print MAIL "Content-Type: image/jpeg;name=\"$picture_name\"\n";
print MAIL "Content-Transfer-Encoding: base64\n";
print MAIL "Content-ID: <$picture_dir>\n\n";
my $buf; $/=0;
open INPUT, "$image_dir/$picture_dir/$picture_name";
while(read(INPUT, $buf, 60*57))
{
print MAIL &encode_base64($buf);
}
close INPUT;
}
print MAIL "\n--------------$boundary--\n";
close(MAIL);
}
sub encode_base64 #($)
{
my ($res, $eol, $padding) = ("", "\n", undef);
while (($_[0] =~ /(.{1,45})/gs))
{
$res .= substr(pack('u', $1), 1);
chop $res;
}
$res =~ tr#` -_#AA-Za-z0-9+/#;
$padding = (3 - length($_[0]) % 3) % 3;
$res =~ s#.{$padding}$#'=' x $padding#e if $padding;
$res =~ s#(.{1,76})#$1$eol#g if (length $eol);
return $res;
}
Po dolu sym ti paste-nal moite funkcii. Imai predvid che te sa i za vkluchvane na kartinki taka che moje da ti se naloji da iztriesh ili modificirash chastta sled komentarite(###). Kakto i da e probvai pyrvo bez da promeniash nishto, bi triabvalo da raboti. Men me myrzi sega da ia pravia samo za chist html.
Ta znachi kopirash si coda v tvoja script i sled tova vikash funkciata:
&Mail("pytia kym sendmail-a","subject","poluchatel","izprashtach","html coda na stranicata koiato iskash da izpratish");
sub Mail {
($sendm,$subj,$rec,$send,$mess)=@_;
if ( ! open(MAIL,"| $sendm -t") ) {
print("Could not start mail program");
}
my @boundaryv = (0..9, 'A'..'F');
srand(time ^ $$);
for (my $i = 0; $i++ < 24;)
{
$boundary .= $boundaryv[rand(@boundaryv)];
}
for (my $i = 0; $i++ < 24;)
{
$boundary1 .= $boundaryv[rand(@boundaryv)];
}
print MAIL "MIME-Version: 1.0\n";
print MAIL "Content-Type: multipart/related;type=\"multipart/alternative\"; boundary=\"------------$boundary\"\n";
print(MAIL "To: $rec\n");
print(MAIL "Subject: $subj\n");
print(MAIL "From: $send\n");
print(MAIL "\n");
print MAIL "This is a multi-part message in MIME format.\n";
print MAIL "--------------$boundary\n";
print MAIL "Content-Type: multipart/alternative; boundary=\"------------$boundary1\"\n\n";
print MAIL "--------------$boundary1\n";
print MAIL "Content-Type: text/html; charset=us-ascii\n";
#####################################
#####################################
print MAIL "Content-Transfer-Encoding: binary\n";
print(MAIL "\n$mess \n");
print MAIL "--------------$boundary1--\n";
foreach $picture_dir(@images){
$picture_name = $picture_dir.'QT.jpg';
print MAIL "\n--------------$boundary\n";
print MAIL "Content-Type: image/jpeg;name=\"$picture_name\"\n";
print MAIL "Content-Transfer-Encoding: base64\n";
print MAIL "Content-ID: <$picture_dir>\n\n";
my $buf; $/=0;
open INPUT, "$image_dir/$picture_dir/$picture_name";
while(read(INPUT, $buf, 60*57))
{
print MAIL &encode_base64($buf);
}
close INPUT;
}
print MAIL "\n--------------$boundary--\n";
close(MAIL);
}
sub encode_base64 #($)
{
my ($res, $eol, $padding) = ("", "\n", undef);
while (($_[0] =~ /(.{1,45})/gs))
{
$res .= substr(pack('u', $1), 1);
chop $res;
}
$res =~ tr#` -_#AA-Za-z0-9+/#;
$padding = (3 - length($_[0]) % 3) % 3;
$res =~ s#.{$padding}$#'=' x $padding#e if $padding;
$res =~ s#(.{1,76})#$1$eol#g if (length $eol);
return $res;
}
Re: Проблем с e-mail-a
na php stava elementarno
traibva samo da mu setne6 Content type na email-a ...
traibva samo da mu setne6 Content type na email-a ...
Re: Проблем с e-mail-a
na perl sasto e elementarno ako ne ti triabva mutlipart email
