alvaro-prieto
5/17/2017 - 7:51 AM

Enviar un email

Enviar un email.

Si quiero en desarrollo ver como van quedando los emails, ir a log/email en mi maquina y mirar los archivos .eml

es necesario tenter: www/config/config.php --> introducir línea: DEFINE('GUARDAR_EMAILS',true);

$Usuario = new Usuario();
$Usuario->permitirCargaExterna=true;
$Usuario->carga($parametros['idusuario']);
$email = $Usuario->datos->email;
$PersonalLogros = new PersonalLogros();
$PersonalLogros->carga($parametros['idlogro']);	
	
	$PersonalLogros->enviaEmail(array(
		'clave'=>'LogroDesbloqueado',
		'asunto'=>"¡Enhorabuena! Has conseguido un nuevo logro" ,
		'dirRemitente'=>'noreply@uned.es',
		'nombreRemitente'=>'qInnova Tudela',
		'destinatarios'=>$email,
		'colaClave'=>'cola_Logros',
 		'colaTiempo'=>60*60*24
	));

/* es necesario crear una plantilla, pongo la asociada a este envío en un 
	archivo separado. Tener en cuenta que cargado un registro, la plantilla
	es capaz de acceder a sus campos, y también puede recibir parámetros (eso
	no lo pongo en este ejemplo)*/
<br/>
<h2 style="color:#3b705b">¡Enhorabuena! Has conseguido un nuevo logro</h2>
<br/>
<div style='font-size:1em;'>
	<p>Has desbloqueado  el logro <strong style="color:#3b705b; text-decoration:underline">[[logro]]: </strong> [[descripcion]] </p>
	<p>¡Esperamos que sigas así para poder condecorarte con un nuevo logro muy pronto!</p>
	<p>Gracias</p>
	<br>
</div>
<br/><br/>
Es casi igual, simplemente añadimos un filtro sobre Archivo y se adjuntan. No hacerlo con $Archivo->carga()
ya que la funcion adjuntar archivos espera un array como el que retorna lista()

$email = new Email("alvaro.qinnova@gmail.com","título del email","practicum_emails", "Cuerpo del email");
$Archivo = new Archivo();
$Archivo->añadeFiltro("id=41654");  // filtramos los archivos que queremos enviar, en este caso 1
$archivoAdjunto = $Archivo->lista("id as id,ruta,extension,nombrearchivo,nombre");
$email->adjuntarArchivos($archivoAdjunto);		
$emailR = "noreply@uned.es";
$nombreR = "Nombre remitente";
$email->remitente($emailR, $nombreR);
$envio = $email->enviar();
return $envio;