12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- <?php
- //https://github.com/PHPMailer/PHPMailer
- //require_once('../include/phpmailer/PHPMailerAutoload.php');
- class Mailer{
- private const FROM = "academia@lasalle.mx";
- private const FROM_NAME = "Vicerrectoría Académica";
- private const FROM_PASS = "Foy25193";
- private const FOOTER = "<p style='margin-top:5em; color:#aaa;font-style:italics'><small>Este es un correo automatizado, esta cuenta no recibe correos.<small></p>";
- //private $lista_to, $asunto, $texto;
- /**
- * Función estática para mandar correos. Los destinatarios pueden ser arreglo o cadena separada por ; incluir: include/phpmailer/PHPMailerAutoload.php
- *
- * @param array|string $lista_to El destinatario o lista de destinatarios. Puede ser un arreglo de direcciones de correo electrónico o una cadena de texto con direcciones de correo separadas por ;.
- * @param string $asunto El asunto del correo.
- * @param string $texto El cuerpo del mensaje del correo en HTML.
- * @param bool $bcc Indica si se debe enviar el correo como copia oculta (true) o no (false). Valor por defecto: false.
- *
- * @return bool True si el correo se envió exitosamente, false en caso contrario.
- */
- public static function enviarCorreo($lista_to, $asunto, $texto, $bcc = false){
- try{
- //SMTP Settings
- $mail = new PHPMailer();
- $mail->CharSet = 'UTF-8';
- $mail->SMTPDebug = 0;
- $mail->isSMTP();
- $mail->SMTPAuth = true;
- $mail->SMTPSecure = 'TLS';
- $mail->Host = "smtp.office365.com";
- $mail->Port = 587;
- $mail->Username = self::FROM;
- $mail->Password = self::FROM_PASS;
- $mail->SetFrom(self::FROM, self::FROM_NAME); //from (verified email address)
- $mail->Subject = $asunto; //subject
-
- $mail->IsHTML(true);
- $mail->MsgHTML($texto.self::FOOTER);//adjunta footer
- //recipient
- if(is_array($lista_to)){
- foreach($lista_to as $correo){
- if(trim($correo)!="")
- if($bcc)
- $mail->addBCC($correo);
- else
- $mail->AddAddress($correo);
- }
- }else{//cadena de texto separada por ;
- if(strpos($lista_to, ";")!==false){
- $toArr = explode(";", $lista_to);
- }elseif(strpos($lista_to, ",")!==false){
- $toArr = explode(",", $lista_to);
- }else{
- echo "Cadena de correos inválida";
- return false;
- }
- foreach($toArr as $correo){
- if(trim($correo)!=""){
- if($bcc)
- $mail->addBCC($correo);
- else
- $mail->AddAddress($correo);
- }
- }
- }
- //Success
- if ($mail->Send()) {
- return true;
- }
- }catch(phpmailerException $e){
- echo $mail->ErrorInfo;
- return false;
- }catch(Exception $e2){
- echo $mail->ErrorInfo;
- return false;
- }
- return false;
- }
- }
|