使用邮件功能从php发送电子邮件

tp123

我想从php文件(Windows 10,localhost,XAMPP)发送电子邮件。

我遵循了本教程:链接

我的php.ini文件如下所示:

[mail function]
; For Win32 only.
SMTP = smtp.secureserver.net

; For Win32 only.
sendmail_from = [email protected]

我的php文件包含以下内容:

$to = "[email protected]";
$subject = "Subject";
$mesaj = "Message";

$headers = "From:[email protected]\r\n";
$headers .= "MIME-Version: 1.0\r\n"; 
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; 
mail($to, $subject, $message, $headers);

运行时,将出现以下
警告警告:mail():无法通过“ localhost”端口25连接到邮件服务器,无法验证php.ini中的“ SMTP”和“ smtp_port”设置,或在C:\ xampp \中使用ini_set()第61行的htdocs \ store \ email_sender.php没有发送电子邮件。

我看到了类似的问题(Link_1Link_2Link_3)。

但是我不知道该怎么办。我已经阅读到我需要安装SMTP服务器。我应该安装什么服务器?

我也遵循了这个示例(从邮件功能php发送电子邮件),但是警告仍然存在,并且没有发送电子邮件。

编辑:我已经修改了提供到php.ini文件中的信息:

[mail function]
SMTP=smtp.gmail.com
smtp_port=587
smtp_port=465
sendmail_from = [email protected]
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"

我还修改了sendmail.ini文件中提供的信息:

smtp_server=smtp.gmail.com
smtp_port=587
smtp_ssl=auto
error_logfile=error.log
;debug_logfile=debug.log
[email protected]
auth_password=somepassword
[email protected]

我不得不提到的是,在Gmail中,两步验证已被禁用,而对安全性较低的应用程序的访问已启用。我还停止并启动了Apache服务器。

迈克尔·西姆斯

您包含在问题中的所有帮助链接都是正确的。我听到您说的是,您不完全理解这些链接告诉您的操作。让我看看是否可以帮助您了解完成您要完成的工作所必需的。

从您创建的任何程序发送电子邮件时,无论您是用PHP,C ++,Java编写代码,都没有任何区别,您编程语言中的基础库完全了解如何发送电子邮件。但是,您只能使用正在Internet上正常工作的电子邮件服务器来发送电子邮件,并且该服务器具有您的帐户,该帐户有权发送电子邮件。

如果电子邮件服务器只允许任何人通过它们发送电子邮件,那么您可以想象,这个星球上的垃圾邮件会更严重。

在本地计算机上安装SMTP服务器也不会解决您的问题,因为您将需要拥有一个您可以控制的子域(whateverwhatever.com),并且需要在公开可见的DNS服务器中创建MX记录。您可以使用GoDaddy购买域名,然后创建MX记录并将其指向您的IP地址,等等。但这很繁琐。

我建议您执行的操作是,如果您拥有GMAIL帐户,则可以使用Gmail服务器通过发送电子邮件,但是您需要配置PHP代码(使用ini_set()命令或在以下位置的php.ini文件中) [邮件功能]标题以及Gmail服务器所需的信息。

以下是大多数SMTP服务器所需的相当常见的信息,您必须在代码或php.ini文件中定义这些信息:

  • SMTP服务器地址(smtp.gmail.com)
  • 您的Gmail帐户名
  • 您的Gmail帐户密码
  • Gmail服务器所需的端口号

在允许您发送电子邮件之前,可能还需要查看其他信息。

请看此页面,其中说明了如何使用您自己的Gmail帐户免费发送电子邮件。另外,使用“如何使用我的个人帐户通过Gmail发送SMTP”等短语进行一些Google搜索...信息就在那里。

了解了Gmail服务器发送SMTP电子邮件所需的条件后,您只需在PHP代码或php.ini文件中输入所有必需的信息即可。那里有很多有关如何执行此操作的文档。

进一步讨论:

关于您实际在做什么的更多说明:...您需要了解您正在编写的PHP程序是-缺少更好的术语-临时电子邮件客户端。您习惯于使用Outlook或Web界面或其他电子邮件客户端发送电子邮件,您只需编写电子邮件,然后输入要发送给的人的地址,然后单击“发送”即可。但是现在,您正在编写软件来执行单击电子邮件程序中的发送之后发生的电子邮件发送部分……您不必考虑的电子邮件过程的一部分……您现在需要用您的代码创建。因此,您的代码需要知道该电子邮件的放置位置,并且没有适当的凭据,电子邮件服务器将不会从任何地方接受电子邮件。

因此,您基本上是在用PHP代码编写的,这是电子邮件客户端的非常轻巧的版本,需要学习如何发送电子邮件...这是在向妈妈发送电子邮件后单击“发送”后发生的所有事情....直到现在,您从不需要单击单击发送后就知道电子邮件会发生什么... ...,因为您很难在PHP代码中按实际方式对过程进行编码。

我希望这可以帮助您比以前更好地了解这里发生的事情。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章