mailer.php 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. <?php
  2. //https://github.com/PHPMailer/PHPMailer
  3. //require_once('../include/phpmailer/PHPMailerAutoload.php');
  4. class Mailer{
  5. private const FROM = "academia@lasalle.mx";
  6. private const FROM_NAME = "Vicerrectoría Académica";
  7. <<<<<<< HEAD
  8. private const FROM_PASS = "D1s3c4nt3S1l1c4#$";//4c4d3m14S3gur4## Foy25193 D1s3c4nt3S1l1c4#$
  9. =======
  10. private const FROM_PASS = "4c4d3m14S3gur4##";//Foy25193
  11. >>>>>>> 7688f1aac1824c234bc5f19b154e9ad1f4808d4f
  12. 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>";
  13. //private $lista_to, $asunto, $texto;
  14. /**
  15. * Función estática para mandar correos. Los destinatarios pueden ser arreglo o cadena separada por ; incluir: include/phpmailer/PHPMailerAutoload.php
  16. *
  17. * @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 ;.
  18. * @param string $asunto El asunto del correo.
  19. * @param string $texto El cuerpo del mensaje del correo en HTML.
  20. * @param bool $bcc Indica si se debe enviar el correo como copia oculta (true) o no (false). Valor por defecto: false.
  21. *
  22. * @return bool True si el correo se envió exitosamente, false en caso contrario.
  23. */
  24. public static function enviarCorreo($lista_to, $asunto, $texto, $bcc = false){
  25. try{
  26. //SMTP Settings
  27. $mail = new PHPMailer();
  28. $mail->CharSet = 'UTF-8';
  29. $mail->SMTPDebug = 0;
  30. $mail->isSMTP();
  31. $mail->SMTPAuth = true;
  32. $mail->SMTPSecure = 'TLS';
  33. $mail->Host = "smtp.office365.com";
  34. $mail->Port = 587;
  35. $mail->Username = self::FROM;
  36. $mail->Password = self::FROM_PASS;
  37. $mail->SetFrom(self::FROM, self::FROM_NAME); //from (verified email address)
  38. $mail->Subject = $asunto; //subject
  39. $mail->IsHTML(true);
  40. $mail->MsgHTML($texto.self::FOOTER);//adjunta footer
  41. //recipient
  42. if(is_array($lista_to)){
  43. foreach($lista_to as $correo){
  44. if(trim($correo)!="")
  45. if($bcc)
  46. $mail->addBCC($correo);
  47. else
  48. $mail->AddAddress($correo);
  49. }
  50. }else{//cadena de texto separada por ;
  51. if(strpos($lista_to, ";")!==false){
  52. $toArr = explode(";", $lista_to);
  53. foreach($toArr as $correo){
  54. if(trim($correo)!=""){
  55. if($bcc)
  56. $mail->addBCC($correo);
  57. else
  58. $mail->AddAddress($correo);
  59. }
  60. }
  61. }elseif(strpos($lista_to, ",")!==false){
  62. $toArr = explode(",", $lista_to);
  63. foreach($toArr as $correo){
  64. if(trim($correo)!=""){
  65. if($bcc)
  66. $mail->addBCC($correo);
  67. else
  68. $mail->AddAddress($correo);
  69. }
  70. }
  71. }else{
  72. if(trim($lista_to)!=""){
  73. if($bcc)
  74. $mail->addBCC($lista_to);
  75. else
  76. $mail->AddAddress($lista_to);
  77. }
  78. }
  79. }
  80. //Success
  81. if ($mail->Send()) {
  82. return true;
  83. }else{
  84. echo "Error al enviar correo";
  85. return false;
  86. }
  87. }catch(phpmailerException $e){
  88. echo $mail->ErrorInfo;
  89. return false;
  90. }catch(Exception $e2){
  91. echo $mail->ErrorInfo;
  92. return false;
  93. }
  94. return false;
  95. }
  96. <<<<<<< HEAD
  97. }
  98. =======
  99. }
  100. >>>>>>> 7688f1aac1824c234bc5f19b154e9ad1f4808d4f