<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>mjcarrascosa.com &#187; PHPMailer</title>
	<atom:link href="http://mjcarrascosa.com/tag/phpmailer/feed/" rel="self" type="application/rss+xml" />
	<link>http://mjcarrascosa.com</link>
	<description>Desarrollo web y otras hierbas</description>
	<lastBuildDate>Fri, 08 Jul 2011 07:41:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Envio de correo personalizado con PHP Mailer y Template Power</title>
		<link>http://mjcarrascosa.com/envio-de-correo-personalizado-con-php-mailer-y-template-power/</link>
		<comments>http://mjcarrascosa.com/envio-de-correo-personalizado-con-php-mailer-y-template-power/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 22:54:22 +0000</pubDate>
		<dc:creator>Manuel Jesús Carrascosa de la Blanca</dc:creator>
				<category><![CDATA[Librerías]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[librería]]></category>
		<category><![CDATA[PHPMailer]]></category>
		<category><![CDATA[TemplatePower]]></category>

		<guid isPermaLink="false">http://mjcarrascosa.com/?p=266</guid>
		<description><![CDATA[Cuando enviamos un correo electrónico desde una aplicación en PHP podemos hacer uso de Template Power para generar el correo y de PHP Mailer para enviarlo. Vamos a verlo con un ejemplo: correo.tpl: &#60;p&#62;Sr./Sra.: {nombre}:&#60;/p&#62; &#60;p&#62;Cuerpo del correo.&#60;/p&#62; envio.php: &#60;?php include 'class.phpmailer.php'; include 'class.TemplatePower.inc.php'; $tpl = new TemplatePower('correo.tpl'); $tpl-&#62;prepare(); $tpl-&#62;assign('nombre', $nombre); //Creamos la instancia de [...]]]></description>
			<content:encoded><![CDATA[<p>Cuando enviamos un correo electrónico desde una aplicación en PHP podemos hacer uso de Template Power para generar el correo y de PHP Mailer para enviarlo. Vamos a verlo con un ejemplo:</p>
<p>correo.tpl:</p>
<pre class="brush:html">&lt;p&gt;Sr./Sra.: {nombre}:&lt;/p&gt;
&lt;p&gt;Cuerpo del correo.&lt;/p&gt;</pre>
<p>envio.php:</p>
<pre class="brush:php">&lt;?php
include 'class.phpmailer.php';
include 'class.TemplatePower.inc.php';

$tpl = new TemplatePower('correo.tpl');
$tpl-&gt;prepare();

$tpl-&gt;assign('nombre', $nombre);
//Creamos la instancia de la clase PHPMAiler
$mail = new phpmailer();

//El método que usaremos es por SMTP
$mail-&gt;Mailer = "smtp";

// Los datos necesarios para enviar mediante SMTP
$mail-&gt;Host = "smtp.nuestrohost.com";
$mail-&gt;SMTPAuth = true;
$mail-&gt;Username = "cuenta@nuestrohost.com";
$mail-&gt;Password = "password";

// Asignamos el From y el FromName para que el destinatario sepa quien
// envía el correo
$mail-&gt;From = "cuenta@nuestrohost.com";
$mail-&gt;FromName = "Manuel Carrascosa de la Blanca";

//Añadimos la dirección del destinatario
$mail-&gt;AddAddress("direccion@hostdestino.com");

//Asignamos el subject, el cuerpo del mensaje y el correo alternativo
$mail-&gt;Subject = "Ejemplo de PHPMailer";
$mail-&gt;Body = $tpl-&gt;getOutputContent();

//Si al enviar el correo devuelve true es que todo ha ido bien.
if($mail-&gt;Send())
{
	//Sacamos un mensaje de que todo ha ido correctamente.
	echo "Mensaje enviado correctamente.";
}
else
{
	//Sacamos un mensaje con el error.
	echo "Ocurrió un error al enviar el correo electrónico.";
	echo "&lt;br/&gt;&lt;strong&gt;Información:&lt;/strong&gt;&lt;br/&gt;".$mail-&gt;ErrorInfo;
}
?&gt;</pre>
<p>Podemos ver que básicamente lo que se hace es tener por un lado la plantilla. Luego con el método <a title="Documentación del método getOutputContent" href="http://templatepower.codocad.com/manual/function.getOutputContent.php?lang=en"><strong>getOutputContent</strong></a> de la clase TemplatePower obtenemos el resultado de la plantilla y lo asignamos a la propiedad Body de nuestra instancia de la clase phpmailer. Luego simplemente enviamos el correo.</p>
]]></content:encoded>
			<wfw:commentRss>http://mjcarrascosa.com/envio-de-correo-personalizado-con-php-mailer-y-template-power/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Envio de correo usando PHPMailer</title>
		<link>http://mjcarrascosa.com/envio-de-correo-usando-phpmailer/</link>
		<comments>http://mjcarrascosa.com/envio-de-correo-usando-phpmailer/#comments</comments>
		<pubDate>Sat, 13 Jun 2009 07:00:13 +0000</pubDate>
		<dc:creator>Manuel Jesús Carrascosa de la Blanca</dc:creator>
				<category><![CDATA[Librerías]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHPMailer]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://mjcarrascosa.com/?p=82</guid>
		<description><![CDATA[Es relativamente fácil enviar correo con PHP usando la función mail(). Pero en algunas ocasiones querremos hacer algo más complejo pero de forma que nos cueste menos trabajo, y de paso que nuestro código quede más legible. Para ello podemos hacer uso de la clase PHPMailer. Lo primero que tenemos que hacer es incluir la [...]]]></description>
			<content:encoded><![CDATA[<p>Es relativamente fácil enviar correo con PHP usando la función <a title="Documentación de la función mail de PHP" href="http://es2.php.net/manual/es/function.mail.php"><strong>mail()</strong></a>. Pero en algunas ocasiones querremos hacer algo más complejo pero de forma que nos cueste menos trabajo, y de paso que nuestro código quede más legible.</p>
<p>Para ello podemos hacer uso de la clase <a title="Clase PHPMailer" href="http://phpmailer.codeworxtech.com/">PHPMailer</a>. Lo primero que tenemos que hacer es incluir la clase PHPMailer. Acto seguido creamos una instancia de la clase. A continuación vamos a ver cuales son:</p>
<table style="border-color: #000000; border-width: 1px;" border="1" cellspacing="0" cellpadding="3">
<caption> </caption>
<tbody>
<tr>
<th>Nombre</th>
<th>Descripción</th>
<th>Valor por defecto</th>
</tr>
<tr>
<td>AltBody</td>
<td>Texto alternativo. Para los mensajes en solo texto.</td>
<td>&#8220;&#8221;</td>
</tr>
<tr>
<td>Body</td>
<td>Cuerpo del email. Puede ir en formato HTML.</td>
<td>&#8220;&#8221;</td>
</tr>
<tr>
<td>CharSet</td>
<td>Conjunto de caracteres del correo.</td>
<td>iso-8859-1</td>
</tr>
<tr>
<td>ConfirmReadingTo</td>
<td>Dirección a la que se enviará una confirmación de lectura del correo.</td>
<td>&#8220;&#8221;</td>
</tr>
<tr>
<td>ErrorInfo</td>
<td>Información sobre el último error producido.</td>
<td>&#8220;&#8221;</td>
</tr>
<tr>
<td>From</td>
<td>Dirección de origen del mensaje.</td>
<td>root@localhost</td>
</tr>
<tr>
<td>FromName</td>
<td>Nombre del emisor del mensaje.</td>
<td>Root User</td>
</tr>
<tr>
<td>Host</td>
<td>Servidor SMTP a través del cual se enviará el correo.</td>
<td>localhost</td>
</tr>
<tr>
<td>Mailer</td>
<td>Método mediante el cual se enviará el correo. Puede ser mail, sendmail o smtp.</td>
<td>mail</td>
</tr>
<tr>
<td>Password</td>
<td>Contraseña del servidor SMTP</td>
<td>&#8220;&#8221;</td>
</tr>
<tr>
<td>PluginDir</td>
<td>Directorio donde se encuentran los plugins. Por ejemplo el de envio por SMTP.</td>
<td>&#8220;&#8221;</td>
</tr>
<tr>
<td>Port</td>
<td>Puerto del servidor SMTP.</td>
<td>25</td>
</tr>
<tr>
<td>Priority</td>
<td>Prioridad del email. (1 = Alta, 3 = Normal, 5 = Baja)</td>
<td>3</td>
</tr>
<tr>
<td>ReplyTo</td>
<td>Direcciones a las que responder el correo.</td>
<td>array()</td>
</tr>
<tr>
<td>SMTPAuth</td>
<td>Establece si hay o no autenticación SMTP.</td>
<td>false</td>
</tr>
<tr>
<td>Subject</td>
<td>Asunto del correo.</td>
<td>&#8220;&#8221;</td>
</tr>
<tr>
<td>Timeout</td>
<td>Tiempo de espera antes de producirse un error den TimeOut</td>
<td>10</td>
</tr>
<tr>
<td>Username</td>
<td>Usuario del servidor SMTP</td>
<td>&#8220;&#8221;</td>
</tr>
<tr>
<td>WordWrap</td>
<td>Ancho máximo del mensaje.</td>
<td>0</td>
</tr>
</tbody>
</table>
<p>Ahora veamos los principales métodos:</p>
<table style="border-color: #000000; border-width: 1px;" border="1" cellspacing="0" cellpadding="3">
<tbody>
<tr>
<th style="width: 20%;" scope="row">Nombre</th>
<th style="width: 10%;" scope="row">Retorno</th>
<th style="width: 30%;" scope="row">Parámetros</th>
<th style="width: 40%;" scope="row">Descripción</th>
</tr>
<tr>
<td valign="top">AddAddress</td>
<td valign="top"><strong>void</strong></td>
<td valign="top"><strong>$address:</strong> dirección de correo.<br />
<strong>$name:</strong> nombre del destinatario. Este parámetro es opcional.</td>
<td valign="top">Añade una dirección de destino para el correo.</td>
</tr>
<tr>
<td valign="top">AddAttachment</td>
<td valign="top"><strong>bool</strong></td>
<td valign="top"><strong>$path:</strong> Ruta del archivo.<br />
<strong>$name</strong>: Nombre del archivo.<br />
<strong>$encoding:</strong> Tipo de codificación. Por defecto base64.<br />
<strong>$type:</strong> Tipo MIME del archivo. Por defecto application/octet-stream.</td>
<td valign="top">Añade un archivo adjunto al mensaje.</td>
</tr>
<tr>
<td valign="top">AddBCC</td>
<td valign="top"><strong>void</strong></td>
<td valign="top"><strong>$address:</strong> Dirección que queremos añadir.<br />
<strong>$name:</strong> Nombre del destinatario. Este parámetro es opcional.</td>
<td valign="top">Añade una dirección BCC.</td>
</tr>
<tr>
<td valign="top">AddCC</td>
<td valign="top"><strong>void</strong></td>
<td valign="top"><strong>$address:</strong> Dirección que queremos añadir.<br />
<strong>$name:</strong> Nombre del destinatario. Este parámetro es opcional.</td>
<td valign="top">Añade una dirección como CC.</td>
</tr>
<tr>
<td valign="top">AddReplyTo</td>
<td valign="top"><strong>void</strong></td>
<td valign="top"><strong>$address:</strong> Dirección que queremos añadir.<br />
<strong>$name:</strong> Nombre del destinatario. Este parámetro es opcional.</td>
<td valign="top">Añade una dirección para el Reply To.</td>
</tr>
<tr>
<td valign="top">IsHTML</td>
<td valign="top"><strong>void</strong></td>
<td valign="top"><strong>$bool:</strong> indica si el mesaje es en formato HTML</td>
<td valign="top">Establece un mensaje como HTML.</td>
</tr>
<tr>
<td valign="top">Send</td>
<td valign="top"><strong>bool</strong></td>
<td style="text-align: center;" valign="middle">&#8212;</td>
<td valign="top">Envía el mensaje. Devuelve <em>true</em> si se envía correctamente. En caso de devolver <em>false</em> podemos consultar la propiedad <strong>ErrorInfo</strong> para saber que error ha ocurrido.</td>
</tr>
</tbody>
</table>
<p>Después de esto vamos a ver un pequeño ejemplo:</p>
<pre class="brush:php">&lt;?
	include("class.phpmailer.php");

	//Creamos la instancia de la clase PHPMAiler
	$mail = new phpmailer();

	//El método que usaremos es por SMTP
	$mail-&gt;Mailer = "smtp";

	// Los datos necesarios para enviar mediante SMTP
	$mail-&gt;Host = "smtp.nuestrohost.com";
	$mail-&gt;SMTPAuth = true;
	$mail-&gt;Username = "cuenta@nuestrohost.com";
	$mail-&gt;Password = "password";

	// Asignamos el From y el FromName para que el destinatario sepa quien
	// envía el correo
	$mail-&gt;From = "cuenta@nuestrohost.com";
	$mail-&gt;FromName = "Manuel Carrascosa de la Blanca";

	//Añadimos la dirección del destinatario
	$mail-&gt;AddAddress("direccion@hostdestino.com");

	//Asignamos el subject, el cuerpo del mensaje y el correo alternativo
	$mail-&gt;Subject = "Ejemplo de PHPMailer";
	$mail-&gt;Body = "&lt;p&gt;Esto es un &lt;strong&gt;ejemplo&lt;/strong&gt; de correo.&lt;/p&gt;";
	$mail-&gt;AltBody = "Esto es un ejemplo de correo.";

	//Si al enviar el correo devuelve true es que todo ha ido bien.
	if($mail-&gt;Send())
	{
		//Sacamos un mensaje de que todo ha ido correctamente.
   		echo "Mensaje enviado correctamente.";
	}
	else
	{
		//Sacamos un mensaje con el error.
		echo "Ocurrió un error al enviar el correo electrónico.";
		echo "&lt;br/&gt;&lt;strong&gt;Información:&lt;/strong&gt;&lt;br/&gt;".$mail-&gt;ErrorInfo;
	}
?&gt;</pre>
<p>El código es autoexplicativo, pero si tenéis alguna duda se puede preguntar en los comentarios sin problema alguno.</p>
<p>Normalmente suelo recomendar consultar la documentación de las librerías que comento en el blog. Esta vez no va a ser menos y la podéis consultar en la <a title="Web de PHPMailer" href="http://phpmailer.codeworxtech.com/">web de PHPMailer</a>. Hay que ir al siguiente menú: <strong><em>Products &gt; PHPMailer &gt; support &#8211; x</em></strong>, donde la <em><strong>x</strong></em> es un tema documentado, como los métodos, las propiedades o un tutorial.</p>
<p>En este caso no se adjunta archivo con el código del ejemplo, ya que no funcionaría directamente al tener que configurar bien los datos del emisor y el receptor y los datos del servidor SMTP. Pero tenéis la opción de copiar y pegar y colocar los datos de acuerdo con vuestras necesidades.</p>
]]></content:encoded>
			<wfw:commentRss>http://mjcarrascosa.com/envio-de-correo-usando-phpmailer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

