| Server IP : 74.208.250.37 / Your IP : 216.73.216.114 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ubuntu 6.8.0-124-generic #124-Ubuntu SMP PREEMPT_DYNAMIC Tue May 26 13:00:45 UTC 2026 x86_64 User : miferval ( 1000) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/araltecservicios/app/Controller/ |
Upload File : |
<?php
declare(strict_types=1);
namespace App\Controller;
use Mosaico\Controller\BaseController;
use PHPMailer\PHPMailer\PHPMailer;
class MailerController extends BaseController
{
/**
* @var PHPMailer
*/
protected $mail;
public function __construct(){
$this->mail = new PHPMailer();
}
public function sendOrderNotice($order){
$env = $this->getEnv();
if ($order['payment'] == 'paypal') {
$order['payment-message'] = "Tu pago ha sido realizado por medio de Paypal";
} else {
$order['payment-message'] = "
Para completar tu orden es necesario realizar el deposito a la cuenta:<br>
<b>Banco:</b> Banorte<br>
<b>Nombre:</b> Araltec Servicios<br>
<b>CLABE:</b> 123 456 78906325081 4<br>
<b>Cuenta: </b> 78906325081<br>
";
}
$data['address'] = $order['email'];
$data['cc'] = $order['mail_cc'];
$data['subject'] = $order['subject'];
$data['bcc'] = $order['mail_bcc'];
$data['from'] = $order['mail_from'];
$data['messageType']= 'order';
$data['content'] = "<html>
<body style='background:#1a425a;color:#222222;'>
<table width='750' align='center' cellpadding='2' border='0' color='#ffffff'><tr><td align='center' >
<font color='#ffffff'>" . $order['company'] . "</font></td></tr>
</table>
<table width='750' bgcolor='#FFFFFF' align='center' cellpadding='5'>
<tr><td>" . $order['firstname'] . " Gracias por tu orden: </td></tr>
<tr><td>Fecha: " . date('m-d-Y') . "</td></tr>
<tr><td>Email: " . $order['email'] . "</td></tr>
<tr><td>Calle: " . $order['street'] . "</td></tr>
<tr><td>Ciudad: " . $order['city'] . "</td></tr>
<tr><td>Estado: " . $order['state'] . "</td></tr>
<tr><td>Código Postal: " . $order['zip'] . "</td></tr>
<tr><td>Teléfono: " . $order['phone'] . "</td></tr>
<tr><td>Mensaje:<br/> " . $order['message'] . "</td></tr>
<tr><td>Forma de Pago: " . $order['payment-detail'] . "</td></tr>
<tr><td><table width='100%' align='center' bgcolor='#328eb8' cellpadding='5'>
<tr><td><font color='#ffffff'>" . $order['payment-message'] . "</font></td></tr>
</table></td></tr>
<tr><td><br></td></tr>
<tr><td><table align='center' bgcolor='#e8e8e8' cellpadding='5'>
<tr><td><b>Token de la Orden:</b> <b><font color='#FF6633'>" . $order['order_token'] . "</font></b></td></tr>
<tr><td><a href='" . $env['WEB_URL'] . "/order-check/" . $order['order_token'] . "'>Consultar Orden</a></td></tr>
<tr><td>Orden: </td></tr>
<tr><td>" . $order['order_html'] . "</td></tr>
</table></td></tr>
</table>
<table width='750' align='center' cellpadding='5' border='0'><tr><td align='center'><font style='font-size:10px;line-height:12px;' color='#ffffff'>.© " . date('Y') . " " . $order['website'] . "</font></td></tr></table>
</body></html>";
//echo $data['content'];
return $this->sendForm($data);
//$this->sendMail($data);
}
public function sendContact($fields){
$env = $this->getEnv();
if (!empty($fields['position'])) {
$response['message'] = 'honeypot';
echo json_encode($response);
return false;
}
$data['address'] = $env['MAIL_TO'];
$data['cc'] = $env['MAIL_CC'];
$data['subject'] = $this->contactSubject($fields['type']);
$data['bcc'] = $env['MAIL_BCC'];
$data['from'] = $env['MAIL_FROM'];
$data['messageType']= 'contact';
$data['content'] = "<html>
<body style='background:#1a425a;color:#222222;'>
<table width='750' align='center' cellpadding='2' border='0' color='#ffffff'><tr><td align='center' >
<font color='#ffffff'>" . $data['subject'] . "</font></td></tr>
</table>
<table width='750' bgcolor='#FFFFFF' align='center' cellpadding='5'>
<tr><td>Nombre: " . $fields['firstname'] . " " . $fields['lastname'] . "</td></tr>
<tr><td>Email: " . $fields['email'] . "</td></tr>
<tr><td>Empresa: " . $fields['company'] . "</td></tr>
<tr><td>Mensaje:<br/> " . $fields['message'] . "</td></tr>
</table>
<table width='750' align='center' cellpadding='5' border='0'><tr><td align='center'><font style='font-size:10px;line-height:12px;' color='#ffffff'>AraltecEnergia. © " . date('Y') . "</font></td></tr></table>
</body></html>";
//echo $data['content'];
return $this->sendForm($data);
//$this->sendMail($data);
}
public function sendMail($data)
{
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: ' . $data['from'] . "\r\n".
'Reply-To: ' . $data['from'] . "\r\n" .
'X-Mailer: PHP/' . phpversion();
$headers .= 'Cc: ' . $data['cc'] . "\r\n";
$send = mail($data['address'],$data['subject'],$data['content'], $headers);
if( $send == true ) {
$response['message'] = "Message sent successfully...";
}else {
$response['message'] = "Message could not be sent...";
}
echo json_encode($response);
}
public function sendForm($data){
$env = $this->getEnv();
$this->mail->CharSet = "UTF-8";
$this->mail->isSMTP();
$this->mail->SMTPDebug = false;
$this->mail->Host = $env['MAIL_HOST'];
$this->mail->SMTPAuth = true;
$this->mail->Username = $env['MAIL_USER'];
$this->mail->Password = $env['MAIL_PASS'];
$this->mail->SMTPSecure = 'tls';
$this->mail->Port = $env['MAIL_PORT'];
$this->mail->FromName = $_SERVER['SERVER_NAME'];
$this->mail->Subject = $data['subject'];
$this->mail->Body = "<br>" . $data['content'];
$this->mail->AltBody = $data['content'];
$this->mail->From = $_SERVER['SERVER_NAME'];
$this->mail->AddAddress($data['address']);
//Add carbon copy
if(!empty($data['cc'])){
$cc = explode(',', $data['cc']);
foreach ($cc as $key => $value) {
$this->mail->AddCC($value);
}
}
//Add hidden copy
if(!empty($data['bcc'])){
$this->mail->AddBCC($data['bcc']);
}
$this->mail->SetFrom($data['from']);
if (!$this->mail->send()) {
$response['message'] = "<div class='alert alert-danger center'>Tu mensaje no se pudo enviar</div>";
//print_r($this->mail->AltBody);
$response['message'] = "<div class='alert alert-danger center'>Mailer Error: " . $this->mail->ErrorInfo ."</div>";
} else {
if ($data['messageType'] == 'order') {
$response['message'] = "<div class='alert alert-success center'><div>Se ha enviado un mensaje con los detalles de tu orden</div></div>";
return $response;
} else {
$response['message'] = '<div class="alert alert-success center">
<div>Se ha enviado tu mensaje</div>
</div>';
}
}
echo json_encode($response);
}
public function getIp(){
if (!empty($_SERVER['HTTP_CLIENT_IP'])) //check ip from share internet
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) //to check ip is pass from proxy
{
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
$ip=$_SERVER['REMOTE_ADDR'];
}
return $ip;
}
public function contactSubject($type)
{
$subject = [];
$subject['1'] = 'A – Me interesa comprar equipo – pero tengo algunas preguntas';
$subject['2'] = 'B – Me interesa platicar con Araltec Energía acerca de una instalación de cargadores para vehículos eléctricos';
$subject['3'] = 'C – Me interesa una asesoría para determinar una estrategia de carga de vehículos de acuerdo a mis requisitos.';
$subject['4'] = 'D – Me interesa participar en este sector a través del programa de asociados de venta de Araltec Energía';
$subject['5'] = 'E – Soy contratista eléctrico (calificado) y quiero participar en el programa de instalación, o de servicio y mantenimiento de Araltec Energía';
$subject['6'] = 'F- Soy proveedor de materiales o servicios y me gustaría trabajar con Araltec Energía';
$subject['7'] = 'G – Represento a un negocio relacionado al sector y me gustaría trabajar con Araltec Energía';
$subject['8'] = 'H – Me interesa saber de oportunidades de empleo con Araltec Energía';
$subject['9'] = 'I – Tengo problemas con mi orden de equipo';
$subject['10'] = 'J – Soy operador de una flotilla y necesito asesorarme acerca de una estrategia con vehículos eléctricos';
$subject['11'] = 'K – Necesito consultar con Araltec Energía acerca de otros temas';
return $subject[$type];
}
}