自宅の開発者サーバーからスクリプトを実行している場合は、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>