Se presenta el siguiente problema, tengo una serie de archivos donde envio correos usando PHPMailer, ahora bien existe una comunicacion entre cada archivo por medio de popen Sucede que en el ultimo archivo es donde se envia el email me devuelve el error Extension missing: openssl. Para que me puedan entender les dejo el codigo.
archivoqueiniciatodo.php
Código PHP:
Ver original
function prepareMail($grupo,$sygo,$type){ global $Db; $hash = $this->dohash(); if($Db->num_rows("Select * from ssl_emails where id_mail='{$hash}'",__FILE__,__LINE__) == 0){ $usuarios = $Db->query("Select * from ssl_usuarios where grupo = '{$grupo}'",__FILE__,__LINE__); if($usuarios){ while($create_mails = $Db->fetch_array($usuarios,__FILE__,__LINE__)){ $Db->query("INSERT INTO ssl_emails (id_mail, para, sygo, type, estado) VALUES ('{$hash}', '{$create_mails['correo']}', '{$sygo}', '{$type}', 'pendiente')",__FILE__,__LINE__); } } }else{ $this->prepareMail($grupo,$sygo,$type); } } prepareMail($grupo,$sygo,$type);
tarea.php
Código PHP:
Ver original
$p = $o["f"]; if($Db->num_rows("Select * from ssl_emails where id_mail='{$p}'",__FILE__,__LINE__)){ $query = $Db->query("Select * from ssl_emails where id_mail='{$p}'",__FILE__,__LINE__); while($emails = $Db->fetch_array($query,__FILE__,__LINE__)){ } } } }
mail.php
Código PHP:
Ver original
if(isset($p) && $Db->num_rows("Select * from ssl_emails where id_mail='{$p}' and estado='pendiente'",__FILE__,__LINE__) > 0){ $mail_data = $Db->fetch("Select * from ssl_emails where id_mail='{$p}' and estado ='pendiente'",__FILE__,__LINE__); echo getPostHTML($mail_data['sygo']); require 'plugins/phpmailer/PHPMailerAutoload.php'; $mail = new PHPMailer(); $mail->FromName = "SyGO Industrias Anros"; // readable name $mail->Subject = "Usted ha sido involucrado en un nuevo SyGO"; $mail->Body = $salida1; $mail->Host = "ssl://smtp.gmail.com"; // GMail $mail->Port = 465; $mailer->SMTPSecure = 'ssl'; $mail->isHTML(true); $mail->IsSMTP(); // use SMTP $mail->SMTPAuth = true; // turn on SMTP authentication $mail->From = $mail->Username; $mail->AddAddress($mail->Username); $mail->AddBCC($mail_data['para']); if( !$mail->Send()){ $error = "El mensaje no fue enviado: {$mail->ErrorInfo}"; $Db->query("update ssl_emails set estado = 'error' where id_mail = '{$p}' and id = '{$mail_data['id']}'",__FILE__,__LINE__); }else{ $error = "mensaje fue enviado correctamente"; $Db->query("update ssl_emails set estado = 'enviado' where id_mail = '{$p}' and id = '{$mail_data['id']}'",__FILE__,__LINE__); } $Gf->logEmail($tiempo_inicio,$tiempo_fin,$mail_data['para'],$error,$salida1); }else{ $Gf->logEmail(0,1,"No-paso-nada","no se encontro respuesta",'nada'); } }
Ahora bien, todo el proceso funciona "muy bien" solo que me da error que ya mencione antes; ahora bien cuando cargo el archivo mail.php desde el navegador los correos se envían perfectamente.