使用核心php mail()通过gmail SMTP发送

时间:2012-04-05 12:16:16

标签: php smtp gmail

是否可以通过gmail smtp在核心php中发送邮件,而无需使用任何外部类?

5 个答案:

答案 0 :(得分:19)

关于这一点存在很多误解。通过PHP的简单“mail()”命令使用gmail发送电子邮件是100%可能的。 它是100%容易。

安装SSMTP:

sudo apt-get install ssmtp

编辑其设置文件:

sudo nano /etc/ssmtp/ssmtp.conf

在内部,使其与此类似,但使用您自己的凭据:

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

最后,打开你的php.ini ,然后搜索 sendmail_path 并使用此值:

sendmail_path = /usr/sbin/ssmtp -t

就是这样!使用简单的 1行邮件功能

在PHP中测试它
mail('to@address.com', 'Subject', 'Message', 'From: Your name <youremail@gmail.com>');

Gmail安全更新

Gmail现在默认阻止此操作。您仍然可以访问:http://www.google.com/settings/security/lesssecureapps

来执行此操作

启用此功能开启

答案 1 :(得分:7)

我不认为这是可能的,因为你需要进行身份验证。此外,您需要通过SSL套接字连接,我不知道库存mail()功能是否支持此功能。

如果您愿意使用Pear Mail软件包,可能需要查看一下:

Send email using the GMail SMTP server from a PHP page

答案 2 :(得分:4)

虽然您必须修改php.ini设置,但可以参见PHP manual。您可以使用ini_set

在运行时修改php.ini设置

答案 3 :(得分:0)

如果您有权修改php.ini,那么您可以执行以下操作:

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

或者你可以这样做:

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

答案 4 :(得分:-2)

您可以通过PHPmailer Library执行此操作,它已经拥有gmail.php文件。

只需打开并将您的详细信息放在该文件中,您也可以在文件中使用类似的代码。

您必须在gmail帐户设置中进行设置以允许smtp邮寄