2010-01-02 37 views
12

que utilizan la última WAMP y me sale esto cuando intento enviar mensajes de correo electrónico: la entregaEnvío de correos electrónicos con WAMP

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp\www\main\createaccount.php on line 8 

mensaje fallido ...

El mensaje:

$to = "[email protected]"; 
$subject = "Hi!"; 
$body = "Hi,\n\nHow are you?"; 
if (mail($to, $subject, $body)) { 
    echo("<p>Message successfully sent!</p>"); 
} else { 
    echo("<p>Message delivery failed...</p>"); 
} 

¿Necesita descargar un "servidor de correo" también?

Por favor ayuda.

Respuesta

1

No está ejecutando un servidor smtp en su máquina, pero no es necesario. Sólo tienes que configurar un servidor SMTP para SMTP abierta, por ejemplo:

ini_set('SMTP', 'smtp.yourisp.com'); 

Tome un vistazo a su página de inicio del proveedor de Internet o http://www.e-eeasy.com/SMTPServerList.aspx para la lista de servidores SMTP.

Si tiene un programa de correo de escritorio, puede usar la misma dirección que usa para el correo saliente.

+0

thanksman, intentó muchas servidor no, pero me sale el mismo mensaje de error, tal vez algún otro programa corro puerto de uso 25;/ – Jorm

+0

está seguro de que usted está poniendo el 'ini_set' antes de la función' mail' y tiene probado el servidor SMTP de su propio ISP? –

0

Creo que su servidor de correo saliente (SMTP) no está configurado en su archivo php.ini.

Tener un vistazo a esto:

http://email.about.com/od/emailprogrammingtips/qt/Configure_PHP_to_Use_a_Remote_SMTP_Server_for_Sending_Mail.htm

También Hotmail no le permiten usar sus servidores de correo. Deberías usar yahoo o gmail.

+1

Al menos Gmail requiere una conexión SSL protegida, por lo que no es una opción con el simple 'correo antiguo()'. –

+0

@Tatu Ulmanen: Gracias :) No creo que yahoo lo haga, por lo que recuerdo. –

0

¿Estás seguro de que estos servidores tienen instalado un programa de correo electrónico? Si no, ese es tu problema. Por ejemplo, XAMPP viene con un programa de correo llamado Mercury que debe iniciar antes de poder enviar correo a través del servidor.

14

Esto funciona para mí y debería funcionar para usted: use Fake Sendmail y un servidor de host webhost (es decir, Godaddy, 1and1, etc.).

1.) Descargue el zip de sendmail y extráigalo en C: \ Wamp \ bin \ sendmail (para los fines de este ejemplo).

2.) Modificar C: \ wamp \ bin \ Sendmail \ sendmail.ini y establecer lo siguiente a los requisitos de su servidor de correo (la mía son más abajo):

smtp_server=mail.yourdomain.com 
smtp_port=26 
smtp_ssl=none 
;default_domain=yourdomain.com 
[email protected] 
auth_password=smtppassword 
;pop3_server= 
;pop3_username= 
;pop3_password= 
;force_sender= 
;force_recipient= 

3.) establecer la ruta de sendmail .exe en su archivo php.ini.

[mail function] 
; For Win32 only. 
SMTP = 

; For Win32 only. 
sendmail_from = 

; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). 
sendmail_path = "C:\wamp\bin\sendmail\sendmail.exe -t" 

4.) Reinicie Wampserver.

Puede que tenga éxito usando Gmail, pero hay algunos ajustes adicionales para hacerlo funcionar. Prefiero usar el servidor de correo del host donde cargo mi código.

+0

Exactamente lo que necesitaba para vincular mi desarrollador. ambiente con la cuenta real de GoDaddy. Muy apreciado ! –

+0

+1 Tirando de un hilo de 2 años, pero esto me salvó. – msanford

+0

¡ESTO FUNCIONA! Gracias. Esto me salvó. Todo el repentino servidor Wamp64 deja de funcionar en el desarrollo localhost y esto me salvó. – GunWanderer

0

Siga este artículo, funciona si tiene una cuenta de Gmail. o al menos cualquier cuenta de correo electrónico en la que conozca el servidor, el puerto y estas cosas.

Send Email From localhost

0

aquí es otra solución - WAMP send Mail using SMTP localhost


tener en cuenta, cada vez, después de cambiar php.ini,

debe reiniciar wamp

(!!!)

ps en php.ini, he utilizado:

SMTP = localhost 
smtp_port = 25 
sendmail_from = [email protected] 

o si oyu no puede editar php.ini, tratar de insertar estas líneas en el script php.

ini_set("SMTP", "localhost"); 
ini_set("smtp_port", "25"); 
ini_set("sendmail_from", "[email protected]"); 
+0

Esto no funciona. – Draken

Cuestiones relacionadas