繁体   English   中英

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

[英]using core php mail() to send via gmail SMTP

是否可以在不使用任何外部 class 的情况下通过 gmail smtp 在核心 php 中发送邮件?

关于这一点有很多误解。 通过 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 行邮件 function 在你的 PHP 中测试它:

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

Gmail 安全更新

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

打开此功能。

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

如果你愿意使用Pear Mail package,你可能想看看这个:

从 PHP 页面使用 GMail SMTP 服务器发送 email

这是可能的,尽管您必须修改 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

在核心 PHP mail() function 中不可能。此解决方案需要 PHPMailer。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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