SMTP サーバーを使用せずに Go でメールを送信する
Go サーバー アプリケーションを介して一括メールを送信し、次のような潜在的なクォータ制限を回避しようとしています。サードパーティの SMTP サーバー。
代替アプローチ
残念ながら、SMTP サーバーと直接対話しないと電子メールを送信することはできません。
外部プログラムへの委任
SMTP サーバーをバイパスするには、電子メールを送信できる別のプログラムにタスクを委任することを検討してください。
POSIX システム (Linux など) では、通常、次のことができます。 /usr/sbin/sendmail や /usr/bin/sendmail などのユーティリティを見つけます。これらのプログラムは電子メール メッセージを受け入れ、配信のために転送します。
gomail ライブラリの使用
このプロセスを簡素化するために、gomail ライブラリは外部とやり取りするための使いやすい API を提供します。 Sendmail などの電子メール送信ユーティリティ。
gomail パッケージを使用した例を次に示します。
<code class="go">import ( "bytes" "os/exec" "github.com/go-gomail/gomail" ) const sendmail = "/usr/sbin/sendmail" func sendEmail(m *gomail.Message) error { cmd := exec.Command(sendmail, "-t") cmd.Stdin = bytes.NewReader([]byte(m.Format())) if err := cmd.Run(); err != nil { return err } return nil }</code>
MTA に依存する利点
場合によってはSendmail のような MTA (Mail Transfer Agent) に依存すると、SMTP サーバーを使用せずに電子メール送信を処理するのが便利であるように見えます。次の利点があります。
以上がSMTP サーバーを使用せずに Go でメールを送信するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。