好的,所以我是php的新手,因此我搜索了这个网站,了解如何在用户填写联系表单后向自己发送电子邮件。我找到了这个答案。
Send email with PHP from html form on submit with the same script
我使用了所选答案中的代码。我尝试了最佳答案,将两个部分组合成一个php页面,第二个,使用html和php页面,但我收到以下错误:
警告:mail()[function.mail]:无法连接到" localhost"的邮件服务器端口25,验证您的" SMTP"和" smtp_port"在php.ini中设置或在第14行(MY WEBSITE)中使用ini_set()
警告:mail()[function.mail]:无法连接到" localhost"的邮件服务器端口25,验证您的" SMTP"和" smtp_port"在php.ini中设置或使用ini_set() 在第15行(我的网站)
"我的网站"被我放在那里。
第14行和第15行是:
mail($to,$subject,$message,$headers);
mail($from,$subject2,$message2,$headers2);
为什么我会遇到这个问题?我正在做海报所说的事情。
答案 0 :(得分:1)
您正在Windows上运行PHP。在类Unix系统上,PHP能够使用内置的sendmail
命令发送电子邮件,因此无需进一步配置。但是,在Windows上,该命令不存在,因此PHP通过外部SMTP服务器发送电子邮件。
要发送电子邮件,正如错误消息所述,您需要配置php.ini
文件或使用ini_set()设置SMTP and smtp_port ini设置。您将要指定可以发送电子邮件的SMTP服务器和smtp_port(通常为25)。如果您从家用计算机运行php,这可能是您的ISP提供给您的任何邮件服务器。如果您是第三方托管服务提供商,则必须从他们那里获取电子邮件服务器信息(他们可能实际上不允许发送电子邮件,或者可能会严格控制您可以发送多少邮件,以防止垃圾邮件)。 / p>
ini文件的位置由配置和约定设置。 PHP的configuration file documentation。在Windows上,会检查一长串注册表项,然后再返回C:\windows
或C:\winnt
,这样您就应该查找您的ini文件。 (运行php --ini
也会显示它实际尝试从哪里读取ini文件。)
配置文件文档中显示了一个示例配置文件。如果您在安装PHP时没有安装php.ini
,则可以使用该格式指导您创建新文件。
答案 1 :(得分:0)
我敢打赌你在Linux服务器上,或者主机服务器内置了邮件功能。你不是没有选择。
首先考虑一下你的服务器。如果您的服务器是共享服务器,并且您可能会将邮件发送到垃圾邮件(如果它已完全发送)。大多数网站都会使用其消息系统来保持服务器的负载并确保交付。
如果您不在市场上外包邮件服务,则需要使用可以为您完成大部分繁重工作的库。我建议phpMailer它甚至还有一个自动设置内置,并提供了有关如何配置服务器的很好的示例。
接下来,在您安装php邮件程序之前,请阅读您的主机服务器。如果他们允许您发送邮件,那么大多数邮件都会有严格的邮件规则(意味着您必须保留他们想要的确认邮件)。他们这样做是为了让他们的服务器远离垃圾邮件列表。
祝你好运