Jump to content
aparicio

Html Email ?

Recommended Posts

aparicio

alguém já se lembrou de procurar como se enviam email's com código html tipo tabelas e imagens para ser logo apresentado e não em attachment's!

pois eu encontrei estes dois ficheiros que resolvem essa questão deuma forma simples.

free_html_mailer.php

<?php
function html_mail ($to, $subject, $html_message, $from_address, $from_display_name=''){
$email_from_addr = $from_address; // actual email address of the sender
$email_from_name = $from_display_name; // display name, if any, that the sender wishes to use
$email_subject =  $subject; // The Subject of the email 
$email_txt = $html_message; // Message that the email has in it 
$email_to = $to; // Who the email is to
$headers = $email_from_name == '' ? "From: ".$email_from_addr : "From: ".$email_from_name." <".$email_from_addr.">";
$semi_rand = md5(time()); 
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; 
$headers .= "\nMIME-Version: 1.0\n" . 
            "Content-Type: multipart/mixed;\n" . 
            " boundary=\"{$mime_boundary}\""; 
$email_message .= "This is a multi-part message in MIME format.\n\n" . 
                "--{$mime_boundary}\n" . 
                "Content-Type:text/html; charset=\"iso-8859-1\"\n" . 
                "Content-Transfer-Encoding: 7bit\n\n" . 
			$email_txt . 
			"\n\n\n<br><br><span style=\"font-family: verdana, ariel, sans-serif; font-size: 12px\"><bold><a href=\"http://www.fav.pt\">Federação Académica de Viseu</a></bold></span>";
//				"<html><body><img src='" . $fileurl . "'><BR>" . $email_txt . "</body></html>\n\n"; 
$ok = @mail($email_to, $email_subject, $email_message, $headers); 
if(! $ok) { 
	die("Sorry but the email could not be sent. Please go back and try again!"); 
} 
}
?>

free_html_mailer_test.php

<?
include "free_html_mailer.php";


$from = "email";
$to = "email";
$from_name = "Nome";
$html_message = "<html><head></head>".
"<body>".
"<h1>hello world</h1>".
"<img src=\"http://www.portugal-a-programar.org/forum/templates/subSilver/images/logo_phpBB.gif\">".
"</body>".
"</html>";
$subject = "TESTE";
html_mail ($to, $subject, $html_message, $from, $from_name);

//todo:  ability to speicify file (ststic) as the html imput source to sendHtmlMimeMail (paid version?)


?>
Test Successful

Agora só falta um formulário que vá buscar a mensagem a um ficheiro html, acrescente as  (") sem esquecer a posição absoluta das imagens e restantes ficheiros e temos uma boa ferramenta para envio de email's!

alguem sabe como por as aspas no fim de cada linha? de um ficheiro?

abraço Aparicio

Share this post


Link to post
Share on other sites
Lancaster

Heyas all...

Aspas? Acho que isso está muita complicado...pelo menos do que tive a ver do código... Ora toma lá uma cena rápida e eficiente...

function email_informa($nome,$empresa,$morada,$email,$telefone,$fax,$texto,)
{
$name_file_template_email = 'template_infor.html';//já cá chegamos.. tem de ser o código todo..
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: qq_coisa@qq_coisa.pt\r\n";//Aqui pões o mail de onde vem
$headers .= "Bcc: qq_coisa@qq_coisa.pt, ";//Aqui pões o mail de onde vem
$headers .= "\r\n";
$file = fopen('library/'.$name_file_template_email,'r');//abre-se o ficheiro
$body = fread($file,filesize('library/'.$name_file_template_email));
fclose($file);
$body = str_replace('[TIPO]',"Informação",$body);	
$body = str_replace('[NOME]',$nome,$body);
$body = str_replace('[EMPRESA]',$empresa,$body);
$body = str_replace('[MORADA]',$morada,$body);
$body = str_replace('[email]',$email,$body);
$body = str_replace('[TEL]',$telefone,$body);
$body = str_replace('[FAX]',$fax,$body);
$body = str_replace('[TEXTO]',$texto,$body);
if (mail("qq_sitio@qq_sitio","titulo do email",$body, $headers))//aqui basta pores 1º o mail para onde vai, depois o título..e o resto percebe-se..
	return true;
else
	return false;
}

Agora o ficheiro template_infor.html:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Lusocargo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.style1 {
font-size: 16px;
font-weight: bold;
color: #666666;
}
.style2 {
color: #999999;
font-size: 12px;
}
.style3 {
font-size: 10px;
color: #000000;
}
.style4 {
font-size: 24px;
font-family: "Arial Black";
color: #008000;
}
.style6 {
font-size: 12px;
font-weight: bold;
color: #000000;
font-family: "Arial Narrow";
}
.style7 {font-size: 16px}
-->
</style>
</head>
<body>
<table width="100%"  border="0" cellspacing="0" cellpadding="0">
 <tr>
   <td  colspan="2" align="center" class="style4">[TIPO]</td>
 </tr>
 <tr>
   <td  colspan="2" align="center" height="10"></td>
 </tr>
 <tr>
   <td class="style1" width="150">Nome:</td>
   <td class="style2">[NOME]</td>
 </tr>
  <tr>
   <td class="style1">Empresa:</td>
   <td class="style2">[EMPRESA]</td>
 </tr>
 <tr>
   <td class="style1">Morada:</td>
   <td class="style2">[MORADA]</td>
 </tr>
 <tr>
   <td class="style1">Email:</td>
   <td class="style2">[email]</td>
 </tr>
 <tr>
   <td class="style1">Telefone:</td>
   <td class="style2">[TEL]</td>
 </tr>
 <tr>
   <td class="style1">Fax:</td>
   <td class="style2">[FAX]</td>
 </tr>
 <tr>
   <td class="style1" valign="top">Comentário:</td>
   <td class="style2">[TEXTO]</td>
 </tr>
</table>

</body>
</html>

Agora explicando minimamente..não é preciso grande explicação.

Basicamente temos um ficheiro .html perfeitamente normal a diferença é que tem para lá umas coisas entre parêntesis rectos, depois com a nossa função ( do PHP quero eu dizer) fazes a substituição da informação de entrada, pelo que lá está ou seja o que está entre [ ], e claro o mail vai em HTML, com o CSS definido e tudo e mais alguma coisa..

Só tens de criar o teu ficheiro HTML com o design que quiseres, e siga para bingo...

Hasta all e espero ter ajudado [[]]

PS: Andei à procura daquela thread da sintax highlight para por aqui no code PHP e HTML...só que não encontrei...


http://www.mundodotio.com/ Um mundo à parte...ou então não..http://programming.mundodotio.com/ A vida de um programador WEB

Share this post


Link to post
Share on other sites
vbmaster

O sintax highlighting deu uns erros e estamos neste momento à espera que algum membro desta comunidade consiga ajudar a instalá-lo.

:D

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.