我已经编写了有关向已注册用户发送验证邮件的代码!
但问题是当我在浏览器中运行 .php 文件时,它说,无法发送确认邮件。
有人告诉我,您需要一个服务器(域)来发送确认邮件,它不能使用 LOCALHOST 发送。
我可以从 LOCALHOST 发送确认邮件吗?反正 ??
如果没有,那么告诉我在哪里可以获得免费域(用于测试),在那里我可以上传我的 .php 文件并发送确认邮件??
如果您在家中从开发人员服务器运行脚本,您的ISP 很可能会遇到阻塞端口 25的问题。
我建议您使用事务性电子邮件服务,例如:
为什么?
如何?
由于我是 AlphaMail 背后的开发者之一,我当然推荐你使用它(但不仅因为我是它背后的开发者之一,还因为它很棒!:))。而且由于您使用的是 PHP,因此很容易使用 AlphaMail PHP 客户端:
include_once("comfirm.alphamail.client/emailservice.class.php");
$email_service = AlphaMailEmailService::create()
->setServiceUrl("http://api.amail.io/v1")
->setApiToken("YOUR-ACCOUNT-API-TOKEN-HERE");
$person = new stdClass();
$person->userId = "1234";
$person->firstName = "John";
$person->lastName = "Doe";
$person->dateOfBirth = 1975;
$response = $email_service->queue(EmailMessagePayload::create()
->setProjectId(12345) // Your AlphaMail project (determines template, options, etc)
->setSender(new EmailContact("Sender Company Name", "from@example.com"))
->setReceiver(new EmailContact("Joe Doe", "to@example.org"))
->setBodyObject($person) // Any serializable object
);
AlphaMail 的另一个优点是它将逻辑与设计分开。因此,您再也不必用丑陋的非标准(电子邮件)HTML 来膨胀您的代码了。一旦您需要更改内容,无需挖掘代码,只需登录 AlphaMail 仪表板并立即编辑您的模板。此外,模板是使用简单的模板语言Comlang 构建的,因此它们具有高度的个性化。
<html>
<body>
<b>Name:</b> <# payload.firstName " " payload.lastName #><br>
<b>Date of Birth:</b> <# payload.dateOfBirth #><br>
<# if (payload.userId != null) { #>
<a href="/sign-up">Sign Up Free!</a>
<# } else { #>
<a href="/login?id=<# payload.userId #>">Sign In</a>
<# } #>
</body>
</html>
您可以使用 sendmail 、 smtp 或其他一些服务,如 Amazon SES 。Amazon Simple 电子邮件服务 免费提供沙盒功能(但您需要信用卡才能使用其服务),并且可以轻松配置到您的本地主机中。