是否可以在不使用任何外部类的情况下通过 gmail smtp 在核心 php 中发送邮件?
5 回答
对此有很多误解。通过 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
打开此功能。
我认为这是不可能的,因为您需要执行身份验证。另外,你需要通过 SSL 套接字连接,我不知道股票mail()
功能是否支持这个。
如果你愿意使用Pear Mail包,你可能想看看这个:
有可能,尽管您必须修改 php.ini 设置,请参阅PHP 手册。您可以在运行时使用ini_set修改 php.ini 设置
如果您有权编辑,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
你可以通过 PHPmailer 库来做到这一点,它已经有 gmail.php 文件。
只需打开并将您的详细信息放在该文件中,您也可以在文件中使用类似的代码。
您必须在您的 gmail 帐户设置中进行设置以允许 smtp 邮件