PHP mail ako HTML s prilohou

Programovacie jazyky, rady, poradňa...
nordscan
Star
Star
Príspevky: 510
Registrovaný: 27 okt 2005, 1:15
Bydlisko: orawa
Kontaktovať používateľa:

PHP mail ako HTML s prilohou

Príspevok od používateľa nordscan »

Zdravim, nejak som sa dopracoval k tomu ze do .php na odosielanie mailov som dorobil pripajanie priloh ale vedlsi ucinok sa prejavil tak ze mail ako cisty text a v prilohe je moja priloha a html priloha

vedel by mi niekto poradit ako to urobit tak aby mail bol v HTML a v prilohe bol len subor ktory chcem pripajat?

Kód: Vybrať všetko

function email($recipient,$massage,$subject,$from, $attachments=false){
	$body =  "Správa z webu www.xyz.com: \n"
	      .  "Predmet: ".$subject."\n"
	      .  "Mail: ".$recipient."\n"
	      .  "Od: ".$from."\n\n"
	      .  "Správa: \n".htmlspecialchars($massage)."\n\n";
		  
	$to = $recipient;
	$subject = $subject;
	$fromaddress = $from;
	$name = "";
	
	$mime_boundary = "----www.xyz.com----".md5(time());
	
	$headers = "From: ".$from."\n";
	$headers .= "Reply-To:".$from."\n";
	$headers .= "MIME-Version: 1.0\n";
	$headers .= "Content-Type: multipart/mixed; boundary=\"$mime_boundary\"\n";
	
	# -=-=-=- TEXT EMAIL PART

	$message2 = "--$mime_boundary\n";
	$message2 .= "Content-Type: text/plain; charset=utf-8\n";
	$message2 .= "Content-Transfer-Encoding: 8bit\n\n";

	$message2 .= strip_tags($body)."\n\n";
 
	# -=-=-=- HTML EMAIL PART
	$message2 .= "--$mime_boundary\n";
	$message2 .= "Content-Type: text/html; charset=utf-8\n";
	$message2 .= "Content-Transfer-Encoding: 8bit\n\n";

	$message2 .= "<html>\n";
	$message2 .= "<body style=\"font-family:Verdana, Verdana, Geneva, sans-serif; font-size:14px; color:#666666;\">\n\n";
	$message2 .= str_replace("<br />", "<br>", nl2br($body));
	$message2 .= "\n</body>\n";
	$message2 .= "</html>\n";

	# -=-=-=- FINAL BOUNDARY
if ($attachments !== false)
{
for($i=0; $i < count($attachments); $i++)
{
if (is_file($attachments[$i]))
{
$fileatt = $attachments[$i]; 
$fileatt_type = "application/octet-stream"; 
$start= strrpos($attachments[$i], '/') == -1 ? strrpos($attachments[$i], '//') : strrpos($attachments[$i], '/')+1;
$fileatt_name = substr($attachments[$i], $start, strlen($attachments[$i])); 

$file = fopen($fileatt,'rb'); 
$data = fread($file,filesize($fileatt)); 
fclose($file); 

$data = chunk_split(base64_encode($data)); 

$message2 .= "--{$mime_boundary}\n" . 
"Content-Type: {$fileatt_type};\n" . 
" name=\"{$fileatt_name}\"\n" . 
"Content-Transfer-Encoding: base64\n\n" . 
$data . "\n\n";

}
}
}





	# -=-=-=- SEND MAIL

	$mail_sent = @mail($recipient, $subject, $message2, $headers);
	
	return $mail_sent;
}
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

použi phpmailer :)
beluský
Darca
Darca
Používateľov profilový obrázok
Príspevky: 317
Registrovaný: 21 sep 2006, 13:46

Príspevok od používateľa beluský »

ako dostanem obrázok do emailu? resp. by ten obrázok mal byt pozadie
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

pošleš ten mail ako html a nie plain text. Do html dať obrázok do pozadia by si mal zvládnuť.
beluský
Darca
Darca
Používateľov profilový obrázok
Príspevky: 317
Registrovaný: 21 sep 2006, 13:46

Príspevok od používateľa beluský »

audiotrack napísal:pošleš ten mail ako html a nie plain text. Do html dať obrázok do pozadia by si mal zvládnuť.
no to mi je jasne, ale ci sa to neda spravit tak aby som po prijati tej spravy nemusel uz ist na net... aby sa ten obrazok uz nestahoval z internetu, ale bol priamo sucastou tej spravy... napr. Outlook pred zobrazenim obrazka pyta povolenie
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

D8 sa to (tie obrázky sa tam pridajú ako príloha) a malo by sa to dať urobiť aj v knižnici PHPMailer.
Napísať odpoveď