PHPMailer – SMTP error password command failed

phpmailer smtp gmail

Hey guys, i have been experimenting with smtp and gmail for sending to clients using php. Found this wonderful article and thought of saving it here on my blog as a keepsafe. Unfortunately, bobcares does like his blogs to be posted anywhere else. Such a shame.

Anyways, hope you enjoyed the research. It helped me through mine.

Leave some comments blow.

Coffee Cup

phpmailer-smtp-error-password-command-failed

Stuck with PHPMailer – SMTP error password command failed? We can help you.

We may come across this error when we try to send mail using phpmailer().

SMTP ERROR: Password command failed: 534-5.7.14

As part of our Server Management Services, we assist our customers with several SMTP queries.

Today, let us see how to fix this error.

PHPMailer – SMTP error password command failed

This error may occur due to the below reasons:

  • When a less secure application tries to use the email account.
  • If we try to log in several times a row
  • If we change countries (For example, use VPN, move code to a different server, or actually try to login from a different part of the world).

Moving ahead, let us see the methods our Support Techs employ in order to fix this.

Solution 1: In the case of the Windows server

PHP.ini

  1. Initially, we go to C:\xampp\php, edit the php.ini file with notepad.
  2. Under the [mail munction] section, we remove the semicolon for this line:sendmail_path = “\”C:\xampp\sendmail\sendmail.exe\” -t”
  3. Then we add a semicolon for this line:sendmail_path=”C:\xampp\mailtodisk\mailtodisk.exe”

SendMail.ini

  1. Here, we go to C:\xampp\sendmail, edit the sendmail.ini file with notepad
  2. Then we change the following:smtp_server=smtp.gmail.com smtp_port=465 [email protected] auth_password=your-gmail-password [email protected]

smtp_port should tally with what is written in our php code.

Solution 2: Enable less secure applications (SMTP server is Gmail)

  1. Initially, we login to the account via web
  2. Then we view recent attempts to use the account and accept suspicious access:
    https://security.google.com/settings/security/activity?hl=en&pli=1
  3. We can disable the feature of blocking suspicious apps/technologies:
    https://www.google.com/settings/u/1/security/lesssecureapps

Solution 3: (SMTP server is Gmail)

  1. Initially, login to the account via web
  2. Access the URL: https://accounts.google.com/b/0/DisplayUnlockCaptcha
  3. Then we click the continue option
  4. We can check whether phpmailer is set as SMTP with SSL.

This will work if our SMTP server is Gmail.

Solution 4: Change SMTPSecure value from SSL to TLS in phpmailer() code.

Solution 5: In the case of Gsuite

In such a case, we have to solve it as the Administrator.

  1. Go to Admin panel >> Security with Shield icon >> Basic settings
  2. Then go to the Less secure apps section
  3. Now we select one of the Radio Button:

a) Disable access to less secure apps for all users (Recommended)
b) Allow users to manage their access to less secure apps
c) Enforce access to less secure apps for all users (Not Recommended)

Generally, if option a) does not work, it will start to work with the c) option.

Solution 6: In the case of cPanel/WHM servers

This is related to a security feature in WHM/cPanel.

  1. Firstly, log in to CPanel
  2. Navigate to Tweak Settings > All > “Restrict outgoing SMTP to root, Exim, and mailman
  3. Eventually, switch it from “On” to “Off”.

In addition, we can do this via SSH as well:

/scripts/smtpmailgidonly off