2

登録済みのユーザーに確認メールを送信するコードを書きました。

しかし、問題は、ブラウザーで .php ファイルを実行すると、確認メールを送信できないということです。

確認メールを送信するにはサーバー (ドメイン) が必要で、LOCALHOST を使用して送信することはできないと誰かが私に言いました。

LOCALHOST から確認メールを送信できますか?? ともかく ??

そうでない場合は、.php ファイルをアップロードして確認メールを送信できる無料のドメイン (テスト用) をどこで取得できるか教えてください。

4

2 に答える 2

1

自宅の開発者サーバーからスクリプトを実行している場合は、ISPがポート25をブロックしているという問題が発生している可能性があります。

次のようなトランザクションメールサービスを使用することをお勧めします。

なんで?

  • HTTP APIをサポートしています(ポート80/443で実行されるため、ISPブロッキングはありません)。つまり、家から走るのは簡単です。
  • 将来を見据えた。独自のSMTPインフラストラクチャをホストすることを考える必要はありません。送信が増えたらスケーリングします。
  • あなたは配達について考える必要はありません。送信元のIPがホワイトリストに登録されていないためにブロックされているため、リストは続行されます。
  • 統計学。合計送信数/クリック数/オープン数/バウンス数を追跡しましょう。

どのように?

私はAlphaMailの開発者の一人なので、もちろんそれを使用することをお勧めします(ただし、私がAlphaMailの開発者の一人であるだけでなく、すばらしいからです!:))。また、PHPを使用しているため、AlphaMailPHPクライアントを簡単に使用できます。

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のもう1つの優れた点は、ロジックをデザインから分離していることです。したがって、コードを醜い非標準(電子メール)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>
于 2012-10-13T15:38:16.043 に答える
0

sendmail 、 smtp 、または Amazon SES などの他のサービスを使用できます。Amazon Simple メール サービス はサンドボックス機能を無料で提供し (ただし、そのサービスを使用するにはクレジット カードが必要です)、ローカルホストに簡単に設定できます。

于 2012-10-13T13:44:38.060 に答える