Enviar correos autenticados en PHP

Hola Master, buenas tardes.
Mira tengo un programa hecho en PHP con MYSQL y por algunos pasos de este programa realizado en PHP envía un correo.
Antes el envío lo realizaba bien, lo malo es que ahora cambiaron el servidor SMTP y ahora los correos salen autenticados y obviamente los correos dejaron de enviarse.
El archivo PHP.ini tiene los siguientes parámetros:
----------INICIO---------
[mail function]
; For Win32 only.
SMTP = mta.servidordecorreos.com
; For Win32 only.
sendmail_from = [email protected]
-----------FIN-------------
Ahora los correos que se envian empiezan asi en php:
----------INICIO----------
<?
ini_set("sendmail_from","[email protected]");
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
---------------FIN----------------
¿Qué me falta para que salgan los correos autenticados (con usuario y password)?

1 Respuesta

Respuesta
1
No se trata de ningún cambio que puedas hacer a tu archivo PHP.ini
Probablemente en el programa se usa la función mail() para enviar el mensaje y esta función no permite enviar correos autenticados.
La única solución es usar alguna librería como PEAR y cambiar el lugar donde se envían los correos en el programa. Aquí tienes un ejemplo de cómo se haría con PEAR:
<?php
require_once "Mail.php";
$from = "Sandra Sender <[email protected]>";
$to = "Ramona Recipient <[email protected]>";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";
$host = "mail.example.com";
$username = "smtp_username";
$password = "smtp_password";
$headers = array ('From' => $from,
'To' => $to,
'Subject' => $subject);
$smtp = Mail::factory('smtp',
array ('host' => $host,
'auth' => true,
'username' => $username,
'password' => $password));
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail)) {
echo("
<p>" . $mail->getMessage() . "</p>
");
} else {
echo("
<p>Message successfully sent!</p>
");
}
?>

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas