Menghantar E-mel dalam Go Without a SMTP Server
Anda berusaha untuk menghantar mel pukal melalui aplikasi pelayan Go, mengelakkan kemungkinan had kuota yang dikenakan oleh pelayan SMTP pihak ketiga.
Pendekatan Alternatif
Malangnya, tanpa berinteraksi secara langsung dengan pelayan SMTP, menghantar e-mel tidak dapat dilaksanakan.
Mewakilkan kepada Program Luaran
Untuk memintas pelayan SMTP, pertimbangkan untuk mewakilkan tugas kepada program lain yang mampu menghantar e-mel.
Pada sistem POSIX (cth., Linux), anda biasanya boleh cari utiliti seperti /usr/sbin/sendmail atau /usr/bin/sendmail. Program ini menerima mesej e-mel dan memajukannya untuk penghantaran.
Menggunakan Pustaka gomail
Memudahkan proses ini, perpustakaan gomail menyediakan API Mesra Pengguna untuk berinteraksi dengan luaran utiliti penghantaran e-mel seperti Sendmail.
Berikut ialah contoh menggunakan pakej 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>
Kelebihan Bergantung pada MTA
Walaupun mungkin kelihatan mudah untuk mengendalikan penghantaran e-mel tanpa pelayan SMTP, bergantung pada MTA (Ejen Pemindahan Mel) seperti Sendmail menawarkan kelebihan:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghantar E-mel dalam Go Tanpa Menggunakan Pelayan SMTP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!