简体   繁体   中英

using core php mail() to send via gmail SMTP

Is it possible to send mail in core php via gmail smtp without using any external class?

There's a lot of miscommunication about this. It is 100% possible to send emails using gmail via PHP's simple "mail()" command. And it is 100% easy.

Install SSMTP:

sudo apt-get install ssmtp

Edit its settings file:

sudo nano /etc/ssmtp/ssmtp.conf

Inside, make it similar to this, but with your own credentials:

mailhub=smtp.gmail.com:587
AuthUser=youremail@gmail.com
AuthPass=password
UseSTARTTLS=YES

# You can only do this if you've verified your domain with Gmail.
# If you haven't, delete, or add a # before this
hostname=yourwebsite.com

FromLineOverride=YES

Lastly, open your php.ini , and search for sendmail_path and use this value:

sendmail_path = /usr/sbin/ssmtp -t

That's it, Test it out in your PHP, with the simple 1-line mail function:

mail('to@address.com', 'Subject', 'Message', 'From: Your name <youremail@gmail.com>');

Update on Gmail Security

Gmail now blocks this by default. You can still do this by visiting: http://www.google.com/settings/security/lesssecureapps

Turn this feature ON .

I don't think it is possible because you need to perform an authentification. Also, you need to connect via an SSL socket, I don't know if the stock mail() function support this.

If you are willing to use the Pear Mail package, you might want to take a look at this:

Send email using the GMail SMTP server from a PHP page

It is possible, although you have to modify php.ini settings, see the PHP manual . You can modify php.ini settings at runtime with ini_set

If you have access to edit the php.ini then you can do something like this:

[mail function]
SMTP = ssl://smtp.gmail.com
smtp_port = 465
username = info@Mmydomainname.com
password = myemailpassword
sendmail_from = info@mydomainname.com

Alternatively you can do:

<?php
ini_set( 'smtp_port', 465 );
//etc

Not Possible in Core PHP mail() function. You need PHPMailer for this solution.

you can do this by PHPmailer Library it already having gmail.php file.

just open and place your detail in that file, you can also use the similar code in your file.

You must make setting in your gmail account setting to allow smtp mailing

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM