Php 用户注册后如何发送验证/确认电子邮件

Php 用户注册后如何发送验证/确认电子邮件,php,email,Php,Email,我已经编写了关于向已注册的用户发送验证邮件的代码 但问题是,当我在浏览器中运行.php文件时,它显示,无法发送确认邮件 有人告诉我,你需要一个服务器(域)来发送确认邮件,不能使用LOCALHOST发送 我可以从本地主机发送确认邮件吗??有办法吗 如果没有,请告诉我在哪里可以获得一个免费的域(用于测试),在那里我可以上载.php文件并发送确认邮件???您可以使用sendmail、smtp或其他一些服务,如Amazon SES。提供免费的沙盒功能(但您需要信用卡才能使用其服务),并且可以轻松地将其配

我已经编写了关于向已注册的用户发送验证邮件的代码

但问题是,当我在浏览器中运行.php文件时,它显示,无法发送确认邮件

有人告诉我,你需要一个服务器(域)来发送确认邮件,不能使用LOCALHOST发送

我可以从本地主机发送确认邮件吗??有办法吗


如果没有,请告诉我在哪里可以获得一个免费的域(用于测试),在那里我可以上载.php文件并发送确认邮件???

您可以使用sendmail、smtp或其他一些服务,如Amazon SES。提供免费的沙盒功能(但您需要信用卡才能使用其服务),并且可以轻松地将其配置到您的本地主机中

如果您在家中的开发人员服务器上运行脚本,则很可能是您的应用程序出现问题

我建议您使用事务性电子邮件服务,例如:

  • 邮资
  • 山楂
为什么?

  • 具有HTTP API支持(在端口80/443上运行,因此没有ISP阻塞)。也就是说,容易在家跑步
  • 未来的证明。您不必考虑托管自己的SMTP基础结构。一旦发送量增加,就可以扩展它
  • 你不必考虑送货。由于您发送的IP未被列入白名单而被阻止,列表还会继续
  • 统计数字。让我们来跟踪发送/点击/打开/反弹的总数
怎么做

由于我是AlphaMail的开发者之一,我当然建议您使用它(但不仅因为我是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
);
字母邮件的另一个优点是它将逻辑与设计分离开来。因此,您再也不必用难看的非标准(电子邮件)HTML来填充代码了。一旦您需要更改内容,就不必再深入代码,只需登录AlphaMail仪表板并立即编辑您的模板。此外,模板是使用简单的模板语言构建的,因此它们具有高度的个性化

<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>

名称:
出生日期:

显示您正在使用的代码。如果您只是尝试使用SMTP服务器,则需要使用实际的SMTP服务器。如果您在本地计算机上运行一个,那么您可以使用它,尽管接收服务器可能不接受消息(潜在的垃圾邮件)。不过,您可以使用任何SMTP服务器。比如说Gmail,到目前为止你做了什么?什么操作系统?什么服务器?说点什么?