2009-03-01 11 views

Respuesta

27

Los servidores de Gmail usan la Autenticación SMTP bajo SSL o TLS. Creo que no hay manera de utilizar la función mail() bajo que circunstancias, por lo que podría resultar interesantes las siguientes alternativas:

Todos ellos SMTP apoyo auth bajo SSL.

Deberá habilitar la extensión php_openssl en su php.ini.

Recursos adicionales:

+0

¡Muchas gracias! – Jonathan

+1

¿Podría decirme la ubicación exacta dónde ubicar $ host = "ssl: //smtp.gmail.com"; $ port = 465; .? Gracias –

1

Estoy seguro de que también se requieren credenciales de autenticación SMTP.

2

sé en XAMPP puedo configurar sendmail.ini para reenviar correos electrónicos locales que configurar

smtp_sever 
smtp_port 
auth_username 
auth_password 

esto funciona al usar mi propio servidor, no Gmail por lo que no se puede decir con certeza que tendría ningún problema

11

Si abre el archivo php.ini en WAMP, que encontrarán estas dos líneas:

smtp_server 
smtp_port 

Agregar el número del servidor y el puerto para su anfitrión (puede que tenga que ponerse en contacto con ellos para más detalles)

las siguientes dos líneas no lo hacen existe:

auth_username 
auth_password 

Por lo tanto, deberá agregarlos para poder enviar correos desde un servidor que requiera autenticación. Entonces un ejemplo puede ser:

smtp_server = mail.example.com 
smtp_port = 26 
auth_username = [email protected] 
auth_password = example_password 
+1

No probado, pero esto probablemente sea incorrecto. No existen tales directivas para PHP como se indicó anteriormente (excepto 'smtp_port'). También vea http://stackoverflow.com/a/21891895/3827190 como referencia. – Kubo2

2

use stunnel en su servidor, para enviar con gmail. buscalo en Google.

2

Es bastante simple.(Adapte la sintaxis para su conveniencia)

public $smtp = array(
    'transport' => 'Smtp', 
    'from' => '[email protected]', 
    'host' => 'ssl://smtp.gmail.com', 
    'port' => 465, 
    'timeout' => 30, 
    'username' => '[email protected]', 
    'password' => '*****' 
) 
2

¿Le gusta la biblioteca de Zend?

$config = array('auth' => 'login', 
        'ssl' => 'ssl', 
        'port'=> 465, 
        'username' => '[email protected]', 
        'password' => 'XXXXXXX'); 

$transport = new Zend_Mail_Transport_Smtp('smtp.gmail.com', $config); 
$mail = new Zend_Mail(); 
$mail->setBodyText('This is the text of the mail.'); 
$mail->setFrom('[email protected]', 'Some Sender'); 
$mail->addTo('[email protected]', 'Some Recipient'); 
$mail->setSubject('TestSubj'); 
$mail->send($transport); 

Esa es mi configuración en el servidor localhost y puedo ver el correo entrante en mi casilla de correo.

13

[Utilización hMailServer]
Después de la instalación, es necesario realizar la siguiente configuración para enviar correctamente el correo de wampserver:

1) When you first open hMailServer Administrator, you need to add a new domain. 
2) Click on the "Add Domain ..." button at the Welcome page. 
3) Under the domain text field, enter your computer's IP, in this case it should be 127.0.0.1. 
4) Click on the Save button. 
5) Go to Settings>Protocols>SMTP and select "Delivery of Email" tab 
6) Enter "localhost" in the localhost name field. 
7) Click on the Save button. 

Si necesita enviar correo usando un DE destinatario del otro equipo, que necesita para permitir entregas desde cuentas Externas a Cuentas Externas. Para ello, siga estos pasos:

1) Go to Settings>Advanced>IP Ranges and double click on "My Computer" which should have IP address of 127.0.0.1 
2) Check the Allow Deliveries from External to External accounts checkbox. 
3) Save settings using Save button. 

(. Sin embargo, con Windows Live/Hotmail ha negado todos los correos electrónicos procedentes de direcciones IP dinámicas, que la mayoría de las computadoras residenciales están utilizando la solución es utilizar la cuenta de Gmail)

para utilizar Gmail cuenta:

1) Go to Settings>Protocols>SMTP and select "Delivery of Email" tab 
2) Enter "smtp.gmail.com" in the Remote Host name field. 
3) Enter "465" as the port number 
4) Check "Server requires authentication" 
5) Enter gmail address in the Username 
6) Enter gmail password in the password 
7) Check "Use SSL" 

(Nota: "de" función de campo duerma con Gmail)


* p.s. en casos muy raros, puede ser necesaria para desmarcar todo bajo require SMTP authentication en:

  • para el local: Configuración> Avanzado> rangos de IP> "Mi PC"
  • para externa: Configuración> Opciones avanzadas> Rangos de IP> "Internet"
+2

Necesito marcar esta instrucción como favorito antes de una fuga de memoria. – Charlesliam

+1

Siguiendo esas instrucciones, funciona perfecto con hmailserver 5.6.4 y una cuenta de gmail. Si recibe un mensaje de error '530, se requiere autenticación SMTP', entonces debe seguir la última indicación (las p.s.) – Zimmi

Cuestiones relacionadas