GNU/Linux >> Tutoriales Linux >  >> Panels >> Panels

Función de correo PHP deshabilitada en alojamiento web compartido

Previamente, habíamos decidido deshabilitar la función de correo porque usuarios malintencionados de nuestra red solían utilizar la función mail() para enviar spam y otros correos electrónicos no solicitados. Recomendamos a nuestros clientes que utilicen una biblioteca de correo electrónico para enviar correos electrónicos, y hay muchas entre las que elegir.

Marco CodeIgniter.

Si utiliza el marco CodeIgniter, puede usar la clase de correo electrónico incorporada para enviar correos electrónicos. Aquí hay un código de muestra usando la clase de correo electrónico de CodeIgniter:

$this->load->library('email');
$this->email->from('[email protected]', 'eUKhost Limited (Sin respuesta)');
$this ->correo electrónico->a ($correo electrónico); // $email =“email_id”
$this->email->asunto('Bienvenido a eUKhost Limited.');
$this->email->message('



Mensaje aquí



');
$este->correo->enviar();

También puede cargar automáticamente la clase de correo electrónico dentro del archivo config/autoload.php, lo que significa que no necesita usar la primera línea de código para instanciar la clase de correo electrónico antes de usarla.
Para obtener más información sobre la clase de correo electrónico en CodeIgniter, consulte la documentación.

Biblioteca PEAR.

La biblioteca PEAR también tiene una clase de correo integrada para enviar correos electrónicos, incluidos los correos electrónicos a través de la autenticación SMTP con una cuenta de correo electrónico ya existente. He aquí un ejemplo:

include('Correo.php'); // incluye la clase PEAR Mail
$headers =array ('From' => $from, 'To' => $to, 'Subject' => $subject); // los encabezados de correo electrónico
$smtp =Mail::factory('smtp', array ('host' => “localhost”, 'auth' => true, 'username' => $username, 'password' => $contraseña, 'puerto' => '587')); // Protocolo SMTP con el nombre de usuario y la contraseña de una cuenta de correo electrónico existente en su cuenta de hosting
$mail =$smtp->send($to, $headers, $body); // enviando el correo electrónico

Para obtener más información, consulte la página sobre la clase Mail en el sitio web de PEAR.
Nota:el código anterior no detecta ningún error, por lo que le recomendamos que consulte la documentación para obtener ejemplos más elaborados.

Para encontrar el puerto SMTP, vaya a "Configurar cliente de correo electrónico" en el menú "Más" dentro de "Cuentas de correo electrónico" de cPanel. Puede ser el puerto 587, pero verifique para estar seguro.

Biblioteca SwiftMailer.

La biblioteca SwiftMailer es otra opción popular para enviar correos electrónicos. He aquí un ejemplo:
$transport =Swift_SmtpTransport::newInstance(‘mail.example.com’, 587); // la dirección y el puerto de su servidor de correo. Si no sabe cuál es el suyo, vaya a cPanel -> Configuración de correo electrónico y para la cuenta de correo electrónico específica, Más -> Configurar cliente de correo electrónico:se mostrará allí.

$mailer =Swift_Mailer::newInstance($transport); // crea una nueva instancia de un transporte SMTP específicamente

$transporte->setUsername('[correo electrónico protegido]');
$transporte->setPassword('tu_contraseña_aquí');

$mensaje =Swift_Message::newInstance();

$message->setSubject('Establecer el asunto del correo electrónico');
$message->setFrom(array('[email protected]' => 'Su nombre/Nombre de la empresa'));
$mensaje->setTo(matriz($correo electrónico));

$message->addPart(‘

Si desea HTML en su correo electrónico, use addPart()

’, ‘text/html’);

$resultado =$mailer->send($mensaje); // devuelve FALSO booleano en caso de falla

if(!$resultado)
{
echo 'fallo';
}
else
{
echo 'éxito';
}

Algunos de los miembros de nuestro personal tienen experiencia con PHP, por lo que si necesita ayuda con su código PHP para enviar correos electrónicos usando cualquiera de estas bibliotecas o una biblioteca diferente que desee usar, puede publicar su consulta en nuestro Foro de alojamiento web donde un miembro del personal o un cliente en el foro estará encantado de ayudarle.


Panels
  1. ¿En qué se diferencia el alojamiento VPS del alojamiento compartido?

  2. Alojamiento PHP nuclear

  3. Alojamiento de correo electrónico de Microsoft Exchange frente a Zimbra

  4. Preguntas frecuentes sobre alojamiento PHP y MySQL

  5. Prueba simple de correo PHP

¿Cómo verificar los informes de entrega de correo en WHM?

¿Cómo usar el Solucionador de problemas de correo en WHM?

¿Cómo aumentar la cuota de mi buzón?

Habilite el registro de errores de PHP en alojamiento web y de revendedor

¿Por qué no puedo recibir correo electrónico?

Seguridad de alojamiento web