puede - ¿Enviar HTML en el correo electrónico a través de PHP?
php embebido en html (8)
El truco consiste en conocer la identificación del contenido de la parte mímica de la imagen al construir la parte del cuerpo html. Todo se reduce a hacer que la etiqueta img
https://github.com/horde/horde/blob/master/kronolith/lib/Kronolith.php
Mira la función buildMimeMessage para un ejemplo de trabajo.
¿Cómo puedo enviar un correo electrónico en formato HTML con imágenes usando PHP? Quiero tener una página con algunas configuraciones y una salida HTML que se envía por correo electrónico a una dirección. ¿Que debería hacer? El principal problema es adjuntar archivos. ¿Cómo puedo hacer eso?
Enviar un correo electrónico html no es muy diferente de enviar correos electrónicos normales usando php. Lo que es necesario agregar es el tipo de contenido a lo largo del parámetro de encabezado de la función php mail (). Aquí hay un ejemplo.
<?php
$to = "[email protected]";
$subject = "HTML email";
$message = "
<html>
<head>
<title>HTML email</title>
</head>
<body>
<p>A table as email</p>
<table>
<tr>
<th>Firstname</th>
<th>Lastname</th>
</tr>
<tr>
<td>Fname</td>
<td>Sname</td>
</tr>
</table>
</body>
</html>
";
// Always set content-type when sending HTML email
$headers = "MIME-Version: 1.0" . "/r/n";
$headers .= "Content-type:text/html;charset=UTF-8" . "/r/b";
$headers .= ''From: name'' . "/r/n";
mail($to,$subject,$message,$headers);
?>
También puede consultar here para obtener explicaciones más detalladas por w3schools
Es bastante simple, deja las imágenes en el servidor y envíales el PHP + CSS ...
$to = ''[email protected]'';
$subject = ''Website Change Reqest'';
$headers = "From: " . strip_tags($_POST[''req-email'']) . "/r/n";
$headers .= "Reply-To: ". strip_tags($_POST[''req-email'']) . "/r/n";
$headers .= "CC: [email protected]/r/n";
$headers .= "MIME-Version: 1.0/r/n";
$headers .= "Content-Type: text/html; charset=UTF-8/r/n";
$message = ''<p><strong>This is strong text</strong> while this is not.</p>'';
mail($to, $subject, $message, $headers);
Es esta línea la que le dice al remitente y al destinatario que el correo electrónico contiene (con suerte) HTML bien formado que necesitará interpretar:
$headers .= "Content-Type: text/html; charset=UTF-8/r/n";
Aquí está el enlace que obtuve la información ... ( link... )
Necesitarás seguridad aunque ...
La forma más simple es, probablemente, utilizar Zend Framework o cualquiera de los otros frameworks como CakePHP o Symphony.
También puede hacerlo con la función de mail
estándar, pero necesitará un poco más de conocimiento sobre cómo adjuntar imágenes.
Alternativamente, simplemente aloje las imágenes en un servidor en lugar de adjuntarlas. El envío de correo HTML está documentado en la documentación de la función de mail
.
Necesita codificar su html usando la ruta absoluta para las imágenes. Por ruta absoluta significa que tiene que cargar las imágenes en un servidor y en el atributo src
de las imágenes debe dar la ruta directa de esta manera <img src="http://yourdomain.com/images/example.jpg">
.
A continuación se muestra el código PHP para su referencia: se toma de http://www.php.net/manual/en/function.mail.php
<?php
// multiple recipients
$to = ''[email protected]'' . '', ''; // note the comma
$to .= ''[email protected]'';
// subject
$subject = ''Birthday Reminders for August'';
// message
$message = ''
<p>Here are the birthdays upcoming in August!</p>
'';
// To send HTML mail, the Content-type header must be set
$headers = ''MIME-Version: 1.0'' . "/r/n";
$headers .= ''Content-type: text/html; charset=UTF-8'' . "/r/n";
// Additional headers
$headers .= ''To: Mary <[email protected]>, Kelly <[email protected]>'' . "/r/n";
$headers .= ''From: Birthday Reminder <[email protected]>'' . "/r/n";
// Mail it
mail($to, $subject, $message, $headers);
?>
Puede enviar fácilmente el correo electrónico con contenido HTML a través de PHP. Use la siguiente secuencia de comandos.
<?php
$to = ''[email protected]'';
$subject = "Send HTML Email Using PHP";
$htmlContent = ''
<html>
<body>
<h1>Send HTML Email Using PHP</h1>
<p>This is a HTMl email using PHP by CodexWorld</p>
</body>
</html>'';
// Set content-type header for sending HTML email
$headers = "MIME-Version: 1.0" . "/r/n";
$headers .= "Content-type:text/html;charset=UTF-8" . "/r/n";
// Additional headers
$headers .= ''From: CodexWorld<[email protected]>'' . "/r/n";
$headers .= ''Cc: [email protected]'' . "/r/n";
$headers .= ''Bcc: [email protected]'' . "/r/n";
// Send email
if(mail($to,$subject,$htmlContent,$headers)):
$successMsg = ''Email has sent successfully.'';
else:
$errorMsg = ''Email sending fail.'';
endif;
?>
El código fuente y la demostración en vivo se pueden encontrar desde aquí - Enviar hermoso correo HTML usando PHP
Tengo este código y funcionará perfectamente para mi sitio
public function forgotpassword($pass,$name,$to)
{
$body ="<table width=100% border=0><tr><td>";
$body .= "<img width=200 src=''";
$body .= $this->imageUrl();
$body .="''></img></td><td style=position:absolute;left:350;top:60;><h2><font color = #346699>PMS Pvt Ltd.</font><h2></td></tr>";
$body .=''<tr><td colspan=2><br/><br/><br/><strong>Dear ''.$name.'',</strong></td></tr>'';
$body .= ''<tr><td colspan=2><br/><font size=3>As per Your request we send Your Password.</font><br/><br/>Password is : <b>''.$pass.''</b></td></tr>'';
$body .= ''<tr><td colspan=2><br/>If you have any questions, please feel free to contact us at:<br/><a href="mailto:[email protected]" target="_blank">[email protected]</a></td></tr>'';
$body .= ''<tr><td colspan=2><br/><br/>Best regards,<br>The PMS Team.</td></tr></table>'';
$subject = "Forgot Password";
$this->sendmail($body,$to,$subject);
}
función de correo
function sendmail($body,$to,$subject)
{
//require_once ''init.php'';
$from=''[email protected]'';
$headersfrom='''';
$headersfrom .= ''MIME-Version: 1.0'' . "/r/n";
$headersfrom .= ''Content-type: text/html; charset=iso-8859-1'' . "/r/n";
$headersfrom .= ''From: ''.$from.'' ''. "/r/n";
mail($to,$subject,$body,$headersfrom);
}
La función url de la imagen se usa para cambiar la imagen que tiene cambiar en una sola función. Tengo muchas funciones de correo electrónico como la contraseña olvidada. Creo que el usuario está ahí para usar la función url de la imagen. Puede establecer la ruta directamente.
function imageUrl()
{
return "http://".$_SERVER[''SERVER_NAME''].substr($_SERVER[''SCRIPT_NAME''], 0, strrpos($_SERVER[''SCRIPT_NAME''], "/")+1)."images/capacity.jpg";
}
Use PHPMailer,
Para enviar correo HTML, tiene que configurar $ mail-> isHTML () solamente, y puede configurar su cuerpo con etiquetas HTML
Aquí hay un tutorial bien escrito:
rohitashv.wordpress.com/2013/01/19/how-to-send-mail-using-php/