Estoy tratando de configurar Sendmail a través de XAMPP para enviar correo electrónico. En mi sendmail.ini tengo estas opciones:

# Set default values for all following accounts.

logfile "C:\xampp\sendmail\sendmail.log
account Gmail
tls on
port 587
tls_certcheck off
host smtp.gmail.com
from [email protected]
auth on
user [email protected]
password mypassword

account default : Gmail

He creado un script de prueba como esta:

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

Tengo un mensaje para decir que el correo electrónico fue enviado pero nunca llega y en los registros de recibir:

sendmail: Error durante el parto: se Debe emitir un comando STARTTLS primera.

¿Alguien sabe cuál podría ser el problema aquí?

Gracias de antemano!

Gaz

  • Soy la única a la notificación, que el OP está preguntando acerca de la original sendmail — más famoso del mundo de agente de transferencia de correo (info en la Wiki), que comenzó en 1979, mientras que la mayoría de las respuestas son acerca de falso sendmail (página principal) — un falso programa que se utiliza en el desarrollo de paquetes del servidor, como XAMPP, que comenzó en 2004. No pueden ustedes ver, que ejemplo de archivo de configuración dada por el OP es tan diferente de los ejemplos de configuración a dar de vuelta en sus respuestas? Extraño.
InformationsquelleAutor Gaz | 2011-02-09

9 Comentarios

  1. 35

    Esto es lo que ha funcionado para mí Ojalá nadie más va a quemar petróleo para entender esto como yo lo hice.

    Aquí está mi sendmail.ini

    [sendmail]
    
    smtp_server=smtp.gmail.com
    smtp_port=25
    error_logfile=error.log
    debug_logfile=debug.log
    [email protected]
    auth_password=yourgmailpassword
    [email protected]
    

    php/php.ini —-básicamente comentario todo excepto sendmail_path & correo electrónico.add_x_header

    [mail function]
    ; For Win32 only.
    ; http://php.net/smtp
    ;SMTP = localhost
    ; http://php.net/smtp-port
    ;smtp_port = 25
    
    ; For Win32 only.
    ; http://php.net/sendmail-from
    ;sendmail_from = [email protected]
    
    ; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
    ; http://php.net/sendmail-path
    sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
    
    ; Force the addition of the specified parameters to be passed as extra parameters
    ; to the sendmail binary. These parameters will always replace the value of
    ; the 5th parameter to mail(), even in safe mode.
    ;mail.force_extra_parameters =
    
    ; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
    mail.add_x_header = Off
    
    ; Log all mail() calls including the full path of the script, line #, to address and headers
    ;mail.log = "C:\xampp\apache\logs\php_mail.log"
    

    Esto funcionó para mí después de que he actualizado el sendmail archivos (los viejos no soporte smtp)

    • ir a http://glob.com.au/sendmail/ y agarrar la última sendmail archivo zip
    • descomprimir en el escritorio y copiar los archivos en su \xampp\sendmail carpeta sustitución de todo lo que estaba allí.TODO!
    • Ahora sendmail.ini y copiar y pegar lo que mostré anteriormente.(quitar todo lo que hay en un archivo o simplemente comentar todo lo que fuera!)
    • NOTA: no es necesario el Mercurio servidores comenzó para esto.

    Me estaba haciendo una recuperación de la contraseña de php en localhost, cuando me encontré con este problema. Necesitaba enviar a los usuarios de su contraseña.
    – php se ve okey

    • Esto funcionó brillantemente para mí. Sólo para agregar un ahorro de tiempo nota: Recuerde que debe reiniciar Apache después de modificar los archivos de configuración.
    • Usted dijo: «los viejos no soporte smtp,» pero creo que quiso decir «los viejos no admite TLS.»
    • Tengo 2 notas: 1) tuve que habilitar menos seguro a las aplicaciones acceder a mi cuenta de Gmail (ir a Gmail > Cuenta > Seguridad); 2) tuve que usar el puerto 587 en lugar de 25.
    • NOTA: esto funciona en AMPPS demasiado, sólo tienes que sustituir la sendmail_path con la de su AMPPS de la instalación.
    • TAMBIÉN NOTA: el puerto 25 no funciona, hay que usar 465
  2. 13

    Bien, hoy en día, la mejor respuesta no me funciona. Pero, esto hizo:

    en sendmail.ini:

    [sendmail]
    smtp_server=smtp.gmail.com
    smtp_port=587
    error_logfile=error.log
    debug_logfile=debug.log
    auth_username=****@gmail.com
    auth_password=*******
    force_sender=****@gmail.com
    

    en php.ini:

    [mail function]
    sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
    

    Basada en el puerto @: http://support.google.com/mail/bin/answer.py?hl=en&respuesta=13287

  3. 3

    Todo lo que tenía que hacer era cambiar la opción «Permitir menos aplicaciones de seguridad para acceder a tu cuenta» en. Supongo que esto es una alternativa a la creación de una contraseña específica de la aplicación.

    https://support.google.com/accounts/answer/6010255 para info

    https://www.google.com/settings/security/lesssecureapps para el interruptor de

    Podría ser vale la pena ponerla de vuelta después de que hayas terminado para fines de seguridad.

  4. 1

    Estos son los más recientes de Google SMTP server requisitos:

    1. Gmail dirección del servidor SMTP: smtp.gmail.com
    2. SMTP de Gmail contraseña: (Su password de Gmail)
    3. SMTP de Gmail puerto (TLS): 587
    4. SMTP de Gmail puerto (SSL): 465
    5. SMTP de Gmail TLS/SSL requerido:

    Google SMTP Requisitos

    Si usted sólo tiene que utilizar SSL es complicado con el Captcha de verificación de la prueba por lo que acabo de crear mi SSL auto que se trate de TLS SSL cuando se produce un error.

    XAMPP Sendmail usando la cuenta de Gmail

  5. 1

    Sólo para añadir a la ya gran respuesta. Asegúrese de que está ejecutando la versión XAMPP como Administrador. Que fue lo que fija para mí.

  6. 0

    Hay otro problema cuando se usan Gmail. Gmail ahora tiene la seguridad de modo que usted debe generar una contraseña específica de la aplicación – usted no puede usar la contraseña para el acceso de Gmail. He descubierto esta tratando de los ejemplos anteriores y, a continuación, darse cuenta de que en el sendmail carpeta de un registro de errores se habían generado. En el log de errores me encontré con un mensaje que lo indica.

    • He probado con mi cuenta y funcionó, pero sólo con el puerto 465
  7. 0

    Sé que este es un anciano post, pero pensaba que iba a compartir el hecho de que la siguiente trabajó para mí.

    Actualmente estoy usando un servidor WAMP en Windows 7 ENT con Apache/2.4.9 (Win64) PHP/5.5.12, y MySQL 5.6.17.

    He seguido este tutorial: http://blog.techwheels.net/send-email-from-localhost-wamp-server-using-sendmail/

    • Mientras que este vínculo puede responder a la pregunta, es mejor incluir a las partes esenciales de la respuesta aquí y proporcionar el enlace de referencia. Enlace-sólo respuestas puede ser válido si la página enlazada cambios
  8. 0
    THIS IS WHAT YOU SENDMAIL SHOULD LOOK LIKE
    
    
    [sendmail]
    
    ; you must change mail.mydomain.com to your smtp server,
    ; or to IIS's "pickup" directory.  (generally C:\Inetpub\mailroot\Pickup)
    ; emails delivered via IIS's pickup directory cause sendmail to
    ; run quicker, but you won't get error messages back to the calling
    ; application.
    
    smtp_server=smtp.gmail.com
    
    ; smtp port (normally 25)
    
    smtp_port=465
    
    ; SMTPS (SSL) support
    ;   auto = use SSL for port 465, otherwise try to use TLS
    ;   ssl = always use SSL
    ;   tls  = always use TLS
    ;   none = never try to use SSL
    
    smtp_ssl=auto
    
    ; the default domain for this server will be read from the registry
    ; this will be appended to email addresses when one isn't provided
    ; if you want to override the value in the registry, uncomment and modify
    
    ;default_domain=mydomain.com
    
    ; log smtp errors to error.log (defaults to same directory as sendmail.exe)
    ; uncomment to enable logging
    
    error_logfile=error.log
    
    ; create debug log as debug.log (defaults to same directory as sendmail.exe)
    ; uncomment to enable debugging
    
    debug_logfile=debug.log
    
    ; if your smtp server requires authentication, modify the following two lines
    
    auth_username=Your Email Here
    auth_password=Your Password Here
    
    ; if your smtp server uses pop3 before smtp authentication, modify the 
    ; following three lines.  do not enable unless it is required.
    
    pop3_server=
    pop3_username=
    pop3_password=
    
    ; force the sender to always be the following email address
    ; this will only affect the "MAIL FROM" command, it won't modify 
    ; the "From: " header of the message content
    
    force_sender=Your Email Here
    
    ; force the sender to always be the following email address
    ; this will only affect the "RCTP TO" command, it won't modify 
    ; the "To: " header of the message content
    
    force_recipient=
    
    ; sendmail will use your hostname and your default_domain in the ehlo/helo
    ; smtp greeting.  you can manually set the ehlo/helo name if required
    
    hostname=smtp.gmail.com
    
    THIS IS WHAT YOU PHP.INI FILE SHOULD LOOK LIKE
    
    [mail function]
    ; XAMPP: Comment out this if you want to work with an SMTP Server like Mercury
    smtp_server=smtp.gmail.com
    smtp_port = 465
    
    ; For Win32 only.
    ; http://php.net/sendmail-from
    ;sendmail_from = [email protected]
    
    ; XAMPP IMPORTANT NOTE (1): If XAMPP is installed in a base directory with spaces (e.g. c:\program filesC:\xampp) fakemail and mailtodisk do not work correctly.
    ; XAMPP IMPORTANT NOTE (2): In this case please copy the sendmail or mailtodisk folder in your root folder (e.g. C:\sendmail) and use this for sendmail_path.  
    ; XAMPP: Comment out this if you want to work with fakemail for forwarding to your mailbox (sendmail.exe in the sendmail folder)
    sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
    
    ; XAMPP: Comment out this if you want to work with mailToDisk, It writes all mails in the C:\xampp\mailoutput folder
    ;sendmail_path = "C:\xampp\mailtodisk\mailtodisk.exe"
    
    ; Force the addition of the specified parameters to be passed as extra parameters
    ; to the sendmail binary. These parameters will always replace the value of
    ; the 5th parameter to mail(), even in safe mode.
    ;mail.force_extra_parameters =
    
    ; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
    mail.add_x_header=Off
    
  9. 0

    a) Cambio de php.ini
    Busque php.ini en la ruta de acceso del archivo «[Letra de Unidad]:[XAMPP directorio]\php». por ejemplo, C:\xampp\php\php.ini

    De búsqueda para sendmail_path en su php.archivo ini y quitar la semi coma «;» antes de que la mina no tiene ruta de acceso].

    [mail function]
    ; For Win32 only.
    
    SMTP = smtp.gmail.com
    
    smtp_port = 25
    
    ; For Win32 only.
    ; http://php.net/sendmail-from
    sendmail_from = [your_gmail_username]@gmail.com
    sendmail_path = "\"C:\xampplite\sendmail\sendmail.exe\" -t"
    

    b) Cambio de sendmail.ini
    Busque sendmail.ini en la ruta de acceso del archivo es «[Letra de Unidad]:[XAMPP directorio]\sendmail», p. ej. C:\xampp\sendmail\sendmail.ini

    De comentario a «el Mercurio» y «Un servicio de correo libre ejemplo,» los contenidos como
    se muestra a continuación:

     # Mercury  <br/> 
     #account Mercury  <br/> 
     #host localhost  <br/> 
     #from [email protected]  <br/> 
     #auth off  <br/> 
     # A freemail service example  <br/> 
     #account Hotmail  <br/> 
     #tls on  <br/> 
     #tls_certcheck off  <br/> 
     #host smtp.live .com  <br/> 
     #from [exampleuser]@hotmail.com  <br/> 
     #auth on  <br/> 
     #user [exampleuser]@hotmail .com  <br/> 
     #password [examplepassword]  <br/> 
    

    c. Añadir la cuenta de gmail.

    Ejemplo:

    account Gmail
    tls on 
    tls_certcheck off
    host smtp.gmail.com 
     from [your_gmail_username]@gmail.com 
    auth on
      account default : Gmail 
    

    d. Reinicie El Servidor Apache,


    Yo no uso gmail. He usado mi cuenta de hosting. Si usted hace esto, asegúrese de que la configuración de SMTP es correcta. El mío era mail.abc.com no smtp.gmail.com.
    Este código es de 2 sitios web. Necesita cambiar de ambos archivos.
    Lo tengo funcionando en Xampp 1.73 ejecuta en un win200sp4 cuadro. Toda la configuración por defecto a excepción de estos dos archivos. php.ini y sendmail.ini

Dejar respuesta

Please enter your comment!
Please enter your name here