Pembaca seperti Anda membantu mendukung MUO. Saat Anda melakukan pembelian menggunakan tautan di situs kami, kami dapat memperoleh komisi afiliasi. Baca selengkapnya.

Saat membuat aplikasi, Anda harus mengirim email untuk berbagai tujuan, mulai dari notifikasi hingga autentikasi, dan banyak lagi. Go menyediakan smtp Dan surat paket di perpustakaan standarnya untuk mengirim email. Ada juga banyak paket email pihak ketiga di ekosistem Go.

Paket surat bawaan membuat pengiriman email menjadi tugas yang rumit. Jika Anda bukan pengembang aplikasi sisi server, Anda mungkin menemukan smtp Dan surat paket rumit untuk digunakan dan dikonfigurasi.

Salah satu alternatif populer adalah Jordan Wright surel paket yang mengabstraksi kompleksitas pengiriman email. Itu juga menambahkan fitur yang tidak akan Anda temukan di smtp Dan surat paket.

Memulai Dengan Paket Email

Itu surel package adalah library yang ringan, kuat, dan fleksibel, populer karena kesederhanaannya. Hanya dengan beberapa baris kode, Anda dapat membuat dan mengirim email dengan lampiran, konten HTML, dan lainnya. Paket ini juga mendukung fitur canggih seperti koneksi SMTP yang aman dan banyak penerima, menjadikannya alat serbaguna untuk kebutuhan email Anda.

instagram viewer

Paket email juga mendukung bidang CC dan BCC, alamat email dalam berbagai format, tanda terima baca, dan header khusus.

Karena paket tidak terpasang di pustaka standar Go, Anda harus menginstalnya dengan pergi dapatkan memerintah. Paket email mendukung Go versi 1.15 ke atas.

Jalankan perintah ini untuk menginstal paket ke dependensi proyek Anda setelah menginisialisasi proyek baru.

pergi dapatkan github.com/jordan-wright/email

Setelah Anda menginstal paket email, Anda dapat mengimpornya dengan menentukan lokasi relatif terhadap jalur instalasi Anda:

impor (
"fmt"
"github.com/jordan-wright/email"
"net/smtp"
)

Anda akan menggunakan fmt paket untuk mencetak output ke konsol dan smtp paket untuk tujuan otentikasi.

Mengirim Surat Dengan Paket Email

Anda harus mendeklarasikan variabel untuk menyimpan data email Anda. Deklarasikan variabel untuk email dan kata sandi Anda.

surat := "email mu"
kata sandi := "kata sandi aplikasi Anda"

Anda dapat meng-hardcode kata sandi atau menggunakan file variabel lingkungan untuk keamanan yang lebih baik.

Itu surat Dan kata sandi variabel masing-masing harus menyimpan email dan kata sandi Anda.

Anda harus mendeklarasikan variabel untuk alamat host dan nomor port untuk email. Berikut adalah alamat host dan nomor port untuk email Yahoo:

alamat host := "smtp.mail.yahoo.com"
hostPort := "465"

Anda juga harus membuat instans email baru untuk mengirim email dengan surel kemasan. Anda dapat menggunakan metode NewEmail dari surel paket untuk menginisialisasi contoh email untuk email Anda:

Email baru := email. Email baru()

Itu Email baru metode mengembalikan instance struct yang dapat Anda modifikasi untuk elemen email Anda.

Anda dapat menggunakan Dari Dan Ke bidang struct untuk menambahkan email pengirim dan penerima ke instans email Anda.

email baru. Dari = surat
email baru. Ke = []rangkaian{"daftar penerima"}

Itu Ke field adalah potongan string dengan kapasitas tidak terbatas yang dapat Anda gunakan untuk mendeklarasikan semua alamat penerima Anda.

Anda dapat menambahkan CC Dan BCC bidang email Anda menggunakan Bcc Dan Cc bidang instance struct:

email baru. Bc = []rangkaian{"daftar bcc"}
email baru. cc = []rangkaian{"daftar cc"}

Untuk isi surat, Anda dapat menambahkan subjek dan isi teks email Anda menggunakan Subjek Dan Teks bidang struct. Subjek adalah bidang string, dan konten teks adalah irisan byte.

email baru. Subyek = "Subjek Email"
email baru. Teks = []byte("Badan email Anda")

Setelah Anda menambahkan semua bidang wajib, Anda dapat mengirim email menggunakan Mengirim metode contoh email Anda. Itu Mengirim metode mengambil alamat host, nomor port host, dan instance dari smtp paket PlainAuth.

err := email baru. Mengirim(
fmt. Sprintf("%s:%s", alamat host, port host),
smtp. PlainAuth("", surat, kata sandi, alamat host)
)

jika salah!= nol {
fmt. Cetak("Ada kesalahan saat mengirim email")
} kalau tidak {
fmt. Cetak("Surat berhasil dikirim")
}

Itu Mengirim metode mengembalikan kesalahan yang dapat Anda tangani atau nol jika tidak ada kesalahan.

Anda telah berhasil mengirim email dengan surel paket dengan lebih sedikit baris daripada yang harus Anda tulis mengirim surat dengan smtp kemasan.

Anda Dapat Mengirim Surat Dengan Paket SMTP Bawaan

Go adalah bahasa yang terencana dengan baik karena pustaka standarnya dilengkapi dengan sebagian besar fungsi yang Anda perlukan untuk membuat aplikasi web lengkap tanpa ketergantungan eksternal atau paket pihak ketiga.

Itu smtp paket berguna untuk mengirim email melalui berbagai layanan dengan fungsi serupa ke surel kemasan.