カテゴリー
コンピューター

Laravel 6 のメールの絡む開発用に MailHog の Docker コンテナを構築する方法のメモ

まとめ

  • Docker 側のコードは mailhog/mailhog イメージを使うだけ。
  • Laravel 側では、 .env を変更するだけ。
カテゴリー
Linux

Docker コンテナ内の Laravel から外部サービスを使わずにメールを送信するために Docker コンテナ内に exim4 をインストールしたらできた、という記録

まとめ

カテゴリー
Microsoft

【ASP.NET】【MVC5】メール送信時にサーバ接続エラー、送信アドレス誤りエラーを取得したい

ポイント

  • 送信アドレス誤りは同イントラ内限定で検出できた。別ドメインへのメール送信エラーは制御出来ない。
  • 複数のアドレスに送信するときにアドレス誤りを検出するには、SmtpFailedRedipientsException と SmtpFailedRecipientException の両方でキャッチする必要がある。
  • 1 つのアドレスにだけ送信する場合は、SmtpFailedRecipientException のみでよい。
  • 送信できなかったメールアドレスは、SmtpFailedRecipientException.FailedRecipient に格納されている。
  • Host、Port、userName、password に原因がある (つまりサーバに接続できない) 場合は SmtpException でキャッチできる。

他のポイント

  • メールを送るには、MailMessage クラス、SmtpClient クラスの 2 つが必要
  • MailMessage クラスはメール自体を扱うクラス
    • From、To、CC、BCC、添付ファイル、件名、本文などを扱う。
    • メールアドレスの追加は、MailAddress クラスにメールアドレス文字列を渡してインスタンス化したものを使う。
  • SmtpClient クラスはメールを送るときの認証情報を扱うクラス。
    • SMTP サーバ名、ポート番号、ユーザー名、パスワード、SSL の使用などを扱う。
    • ユーザ名、パスワード の追加は、NetworkCredential クラスにユーザー名、パスワード文字列渡してインスタンス化したものを使う。