Tutorial ini menunjukkan cara menggunakan SendGrid untuk mengirim email dari aplikasi yang berjalan pada instance virtual machine (VM) Compute Engine.
Mengirim email dari instance Anda dengan Postfix
Selesaikan langkah-langkah berikut untuk terhubung ke instance sendgrid-tutorial dan menjalankan SendGrid dengan Postfix.
Hubungkan ke instance sendgrid-tutorial Anda menggunakan SSH
- In the Google Cloud console, go to the VM instances page.
- In the list of virtual machine instances, click SSH in the row of the instance that you want to connect to.
Mengonfigurasi SendGrid sebagai relai SMTP dengan Postfix
Jalankan perintah berikut di terminal SSH untuk menggunakan SendGrid sebagai relai SMTP dengan Postfix.
Menjadi superuser:
sudo su -Setel umask yang aman:
umask 077Instal Agen Transportasi Email Postfix:
Debian
apt update && apt -y install postfix libsasl2-modules
CentOS
yum install postfix cyrus-sasl-plain cyrus-sasl-md5 -y
Jika diminta, pilih konfigurasi Local Only dan terima nama domain default.
Memodifikasi opsi konfigurasi Postfix. Buka
/etc/postfix/main.cfuntuk mengedit. Misalnya, untuk menggunakan editor teksnano, masukkan perintah berikut:nano /etc/postfix/main.cfPerbarui file:
Jadikan baris berikut sebagai komentar:
# default_transport = error # relay_transport = error
Tambahkan baris berikut ke bagian akhir file:
relayhost = [smtp.sendgrid.net]:2525 smtp_tls_security_level = encrypt smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd header_size_limit = 4096000 smtp_sasl_security_options = noanonymousBaris di atas menerapkan dukungan SSL/TLS dan mengonfigurasi autentikasi SMTP untuk permintaan ini. Modul akses sederhana dan lapisan keamanan (SASL) menangani autentikasi dalam konfigurasi Postfix.
Simpan dan tutup file tersebut.
Buat peta sandi SASL menggunakan kunci API yang Anda buat di bagian Sebelum memulai. Ganti
your-api-keydengan kunci API yang Anda buat.echo [smtp.sendgrid.net]:2525 apikey:your-api-key >> /etc/postfix/sasl_passwd
Gunakan utilitas
postmapuntuk menghasilkan file.db:postmap /etc/postfix/sasl_passwdVerifikasi bahwa Anda memiliki file
.db:ls -l /etc/postfix/sasl_passwd*-rw------- 1 root root ... /etc/postfix/sasl_passwd -rw------- 1 root root ... /etc/postfix/sasl_passwd.db
Hapus file yang berisi kredensial Anda karena tidak lagi diperlukan:
rm /etc/postfix/sasl_passwdTetapkan izin pada file
.dbAnda dan pastikan file lainnya telah dihapus:chmod 600 /etc/postfix/sasl_passwd.db ls -la /etc/postfix/sasl_passwd*-rw------- 1 root root ... /etc/postfix/sasl_passwd.db
Muat ulang konfigurasi Anda untuk memuat parameter yang diubah:
Debian
/etc/init.d/postfix restartCentOS
postfix reloadInstal paket
mailutilsataumailx:Debian
apt -y install mailutils
CentOS
yum install mailx -yKirim email uji:
echo 'message' | mail -s subject email@example.com
Ganti kode berikut:
message: Isi email.subject: Subjek email.email@example.com: Alamat email yang ingin Anda kirimi pesan.
Buka log sistem Anda untuk melihat baris status yang berisi
statusdan kode respons server yang berhasil(250):Debian
tail -n 5 /var/log/syslogCentOS
tail -n 5 /var/log/maillog
Mengirim email dengan Java di instance Anda
Hubungkan ke instance sendgrid-tutorial Anda menggunakan SSH
- In the Google Cloud console, go to the VM instances page.
- In the list of virtual machine instances, click SSH in the row of the instance that you want to connect to.
Membuat dan mengirim pesan email
Petunjuk berikut menggunakan library klien Java SendGrid untuk membuat dan mengirim pesan email melalui SendGrid. Anda dapat melihat contoh lengkapnya di GitHub.
Di terminal SSH Anda:
Jadilah superuser dan setel umask yang aman:
sudo su - umask 077Instal Java dan Maven:
apt -y update && apt -y install git-core openjdk-11-jdk mavenClone GitHub repo:
git clone https://github.com/GoogleCloudPlatform/java-docs-samples.gitBuka kode sumber utama untuk contoh:
cd /root/java-docs-samples/compute/sendgrid/src/main/java/com/example/compute/sendgridBuka
SendEmailServelet.javauntuk mengedit.Ganti
your-sendgrid-api-keydengan kunci API untuk akun SendGrid Anda.Ganti
your-sendgrid-from-emaildengan alamat email yang ingin Anda gunakan untuk mengirim email.Ganti
destination-emaildengan alamat email yang ingin Anda kirimi email.
Buka direktori root kode contoh tersebut:
cd /root/java-docs-samples/compute/sendgridMembuat class Java dalam paket:
mvn clean packageBuka direktori
targetbaru:cd targetTetapkan izin yang memungkinkan Anda menjalankan file jar:
chmod +x compute-sendgrid-1.0-SNAPSHOT-jar-with-dependencies.jarMenjalankan pemilih versi Java alternatif:
update-alternatives --config javaPilih opsi
java-11-openjdk-amd64.Jalankan file Java:
java -jar compute-sendgrid-1.0-SNAPSHOT-jar-with-dependencies.jar
Mengirim email dengan Node.js di instance Anda
Untuk menjalankan contoh ini, Anda harus menginstal Node.js versi 7.6 atau yang lebih baru pada instance VM.[
Hubungkan ke instance sendgrid-tutorial Anda menggunakan SSH
- In the Google Cloud console, go to the VM instances page.
- In the list of virtual machine instances, click SSH in the row of the instance that you want to connect to.
Membuat dan mengirim pesan email
Di terminal SSH Anda:
Jadilah superuser dan setel umask yang aman:
sudo su - umask 077Perbarui repositori paket Anda:
Debian
apt updateCentOS
yum update -yInstal dependensi Node.js:
Debian
apt -y install git-core curl build-essential openssl libssl-devCentOS
yum install git-core curl openssl openssl-devel -y yum groupinstall "Development Tools" -yInstal Node.js. Secara default, penginstalan juga akan menginstal npm:
Debian
curl -sL https://deb.nodesource.com/setup_14.x | sudo bash - sudo apt -y install nodejsCentOS
curl --silent --location https://rpm.nodesource.com/setup_14.x | bash -Kemudian, instal Node.js:
yum -y install nodejsInstal klien SendGrid Node.js:
npm install sendgridGandakan repositori sampel
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.gitBuka direktori yang berisi contoh SendGrid:
cd nodejs-docs-samples/computeSalin file
sendgrid.js:cp sendgrid.js sendmail.jsBuka
sendmail.jsuntuk mengedit.Ganti
your-sendgrid-api-keydengan kunci API untuk akun SendGrid Anda.Ganti
from-email@example.comdengan alamat email yang ingin Anda gunakan untuk mengirim email.Ganti
to-email@example.comdengan alamat email yang ingin Anda kirimi email.
Jalankan program untuk mengirim pesan email melalui SendGrid:
node sendmail.js
Mengirim email dari server transpor edge Exchange
Anda dapat menyiapkan Microsoft Exchange untuk mengirim email keluar menggunakan SendGrid dengan mengonfigurasi konektor pengiriman keluar. Untuk mengetahui detailnya, lihat Men-deploy Microsoft Exchange Server 2016 di Compute Engine.