I have been trying for several days to configure send mail and PHPmailer to use smpt through gmail and failing miserably. I have searched the web extensively trying to come up with a solution. Most of the solutions involve changing sendmail.ini & php.ini settings, all of which I have tried and have not been able to resolve the issue. I have tried this with a couple different scripts and get the same result. This leads me to believe that is somehow a problem with gmail. trying to use scripts from here: https://bootstrapious.com/p/how-to-build-a-working-bootstrap-contact-form

My sendmail error log reads as follows: 17/08/01 19:26:15 : Socket Error # 11001<EOL>Host not found.

My sendmail debug log reads as follows: 17/08/01 19:26:12 Name: Rusty
17/08/01 19:26:12
Surname: Nail
17/08/01 19:26:12 Email: rusty@mydomain.com
17/08/01 19:26:12
Phone: 123-456-7890
17/08/01 19:26:12 Message: Rusty is testing this form
17/08/01 19:26:12

17/08/01 19:26:12 --- MESSAGE END ---
17/08/01 19:26:12
Connecting to smpt.gmail.com:587
17/08/01 19:26:15 Disconnected.
17/08/01 19:26:15
Disconnected.
17/08/01 19:26:15 Disconnected.
17/08/01 19:26:15
Socket Error # 11001<EOL>Host not found.

[SMPT SERVER TEST]
2017-08-01 02:33:45 Connection: opening to smpt.gmail.com:587, timeout=30, options=array ( ) 2017-08-01 02:33:47 Connection failed. Error #2: stream_socket_client(): php_network_getaddresses: getaddrinfo failed: No such host is known. [C:\xampp\htdocs\contact-form\contact-form\PHPMailer-master\class.smtp.php line 294] 2017-08-01 02:33:47 Connection failed. Error #2: stream_socket_client(): unable to connect to smpt.gmail.com:587 (php_network_getaddresses: getaddrinfo failed: No such host is known. ) [C:\xampp\htdocs\contact-form\contact-form\PHPMailer-master\class.smtp.php line 294] 2017-08-01 02:33:47 SMTP ERROR: Failed to connect to server: php_network_getaddresses: getaddrinfo failed: No such host is known. (0) SMTP error: Connect failed

I will include my sendmail.ini and php.ini mailfunction settings.
Note: I have put XXXXXXX where my gmail account and password are for this post.
The actual ini files contain the real gmail acct & password.
I will also include html & php files if required.

[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=smpt.gmail.com

; smtp port (normally 25)

smtp_port=587

; SMTPS (SSL) support
; auto = use SSL for port 465, otherwise try to use TLS
; ssl = alway 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=XXXXXX@gmail.com
auth_password=XXXXXXXXXX

; 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=XXXXXX@gmail.com

; 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=

[mail function]
; XAMPP: Comment out this if you want to work with an SMTP Server like Mercury
SMTP = smpt.gmail.com
smtp_port = 587

; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = XXXXXX@gmail.com

; 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

; Log all mail() calls including the full path of the script, line #, to address and headers
mail.log = "C:\xampp\php\logs\php_mail.log"

Thank you for looking at this.

    I'm guessing where you have "smpt.gmail.com" throughout your script you actually want "smtp.gmail.com"?

      Thank you for pointing that out.
      A little dyslexia can really muck things up.
      This has resolved my problem with the native sendmail, it tests fine.
      However, still can't get PHPMailer to work.
      Will PHPMailer work on localhost if configured correctly? or does it have to be used on live host?

        As long as you're sending via SMTP, I believe it should be fine -- unless you have some security/firewall restriction that blocks it, but I think PHPMailer would report that in its error output? It's been quite some time since I used it (just because I've not had to deal with email stuff for a long time), but my recollection was using some isSMTP() method in the script to tell it to use it?

          I noticed the script had the smtp debug set to zero, I will set debugging on and experiment a bit.
          These are in the script.
          $mail->isSMTP();
          $mail->SMTPSecure = 'tls';
          $mail->SMTPAuth = true;

            Write a Reply...