Membuat dan Menetapkan Konten Email
Buat Pesan Email Baru
Aspose.Email untuk Java memungkinkan pengembang membuat Pesan MIME (Multipurpose Internet Mail Extensions) dari awal. Kelas utama untuk tujuan ini dalam API Aspose.Email untuk Java adalah MailMessage kelas. Topik ini menjelaskan langkah-langkah yang diperlukan untuk membuat pesan email dalam format file EML, MSG, dan MTH menggunakan Aspose.Email untuk Java.
Untuk membuat pesan email dari awal:
- Buat sebuah instance dari kelas MailMessage.
- Tetapkan subjek pesan dengan menggunakan setSubject() metode.
- Tetapkan isi pesan dengan menggunakan setHtmlBody() metode.
- Tetapkan pengirim email menggunakan setFrom() metode.
- Tetapkan penerima di bidang TO dengan menggunakan getTo().add() metode.
- Tetapkan penerima di bidang CC dengan menggunakan getCC().add() metode.
- Panggil Save() metode untuk menyimpan berkas pesan ke disk dalam format MSG, EML, dan MHT.
Menentukan Beberapa Penerima
The MailMessage mewakili sebuah pesan email. Instance dari kelas MailMessage digunakan untuk membangun pesan email yang ditransmisikan ke server SMTP menggunakan SmtpClient kelas. Topik ini menunjukkan cara menentukan lebih dari satu alamat email. Alamat email dapat ditentukan menggunakan kelas MailMessage. Alamat email yang digunakan dalam kelas MailMessage adalah:
- To - Alamat penerima dapat ditentukan dalam bidang ‘To’. Penerima bidang ‘To’ adalah audiens utama pesan. Bisa ada lebih dari satu alamat penerima.
- Cc - CC adalah singkatan dari "carbon copy" atau "courtesy copy", dan memungkinkan Anda menambahkan penerima email yang perlu melihat email tetapi tidak harus mengambil tindakan. Misalnya manajer, atau anggota tim Anda yang perlu mengetahui percakapan. Dengan Aspose.Email, alamat CC dapat ditentukan dalam kode Anda. Dengan cara ini, email otomatis, atau semua email ke alamat tertentu, dapat disalin ke personel terkait.
- Bcc - Bcc, blind carbon copy, memungkinkan Anda mengirim email ke penerima yang disembunyikan dari penerima lain. Di mana CC muncul dalam informasi email yang dilihat penerima utama, Bcc tidak. Ini dimaksudkan untuk notifikasi tersembunyi.
Untuk menentukan beberapa alamat email dalam sebuah pesan email, ikuti langkah-langkah berikut:
- Buat sebuah instance dari kelas MailMessage.
- Tentukan alamat From serta banyak alamat To, Cc, dan Bcc menggunakan instance MailMessage.
- Buat sebuah instance dari kelas SmtpClient dan kirim email menggunakan metode Send.
Contoh kode di bawah ini menunjukkan cara menentukan beberapa alamat To, CC, dan BCC.
Mengubah alamat email menjadi nama ramah
Contoh pemrograman di bawah ini menunjukkan cara mengubah alamat email menjadi nama ramah dalam pesan email. Nama ramah adalah nama yang lebih mudah dipahami manusia dibandingkan alamat email, misalnya John Smith alih-alih js346@domain.com. Saat mengirim email, kita dapat mengaitkan nama ramah dengan alamat email dalam MailMessage konstruktor kelas.
Untuk mengubah alamat email menjadi nama ramah dalam pesan email, ikuti langkah-langkah berikut:
- Buat sebuah instance dari kelas MailMessage dan tentukan alamat email dalam bidang To dan From beserta nama ramah.
- Tentukan alamat email Cc dan Bcc beserta nama ramah dengan memanggil konstruktor kelas MailMessage dalam instance MailMessage.
- Buat sebuah instance dari kelas SmtpClient dan kirim email menggunakan metode Send.
Potongan kode berikut menunjukkan cara menampilkan Nama untuk alamat email.
Atur Badan Email
The MailMessage kelas mewakili sebuah pesan email. Instance dari kelas MailMessage digunakan untuk membangun pesan email yang ditransmisikan ke server SMTP untuk pengiriman menggunakan SmtpClient kelas. Badan email dapat ditentukan menggunakan kelas MailMessage. Badan email dapat ditentukan menggunakan setHtmlBody metode dalam MailMessage.
Selain HtmlBody, Aspose.Email memiliki metode lain yang terkait dengan badan email:
- isBodyHtml: memberi tahu pengguna apakah badan berupa HTML atau teks biasa.
Topik ini menunjukkan cara mendefinisikan teks badan HTML dan mengatur teks alternatif.
Mengatur Badan HTML
HtmlBody setHtmlBody digunakan untuk menentukan konten HTML dari badan pesan. HtmlBody harus berada di antara tag . Potongan kode berikut menunjukkan cara mengatur badan HTML.
Mengatur Teks Alternatif
Gunakan AlternateView kelas untuk menentukan salinan sebuah pesan email dalam format yang berbeda. Misalnya, jika Anda mengirim pesan dalam format HTML, Anda mungkin juga ingin menyediakan versi teks biasa bila beberapa penerima menggunakan pembaca email yang tidak dapat menampilkan konten HTML. Kelas ini memiliki dua properti, LinkedResources dan BaseUri, yang digunakan untuk menyelesaikan URL dalam konten email.
- LinkedResources adalah koleksi objek LinkedResources. Saat dirender, URL dalam konten email pertama-tama dicocokkan dengan URL dalam Content Link masing-masing objek LinkedResources dalam koleksi LinkedResources, dan diselesaikan.
- BaseUri digunakan oleh pembaca email untuk menyelesaikan URL relatif dalam badan, dan juga untuk menyelesaikan URL Content Link relatif, dalam koleksi LinkedResources.
Potongan kode berikut menunjukkan cara mengatur teks alternatif.
Menentukan Pengkodean Badan Email
Tipe konten mendefinisikan format konten email: set karakter. Misalnya, beberapa set karakter umum yang disediakan dalam java.nio.Charset adalah:
- US-ASCII - ASCII tujuh-bit, alias ISO646-US, alias blok Latin Dasar dalam set karakter Unicode
- ISO-8859-1 - Alfabet Latin ISO No. 1, alias ISO-LATIN-1
- UTF-8 - Format Transformasi UCS delapan-bit
- UTF-16BE - Format Transformasi UCS enam belas-bit, urutan byte big-endian
- UTF-16LE - Format Transformasi UCS enam belas-bit, urutan byte little-endian
- UTF-16 - Format Transformasi UCS enam belas-bit, urutan byte diidentifikasi oleh tanda urutan byte opsional
Aspose.Email menggunakan BodyEncoding properti dari kelas MailMessage untuk menentukan pengkodean badan email. Untuk mengkodekan badan pesan email, ikuti langkah-langkah berikut:
- Buat sebuah instance dari kelas MailMessage.
- Tentukan pengirim, penerima, dan badan email HTML dalam instance MailMessage.
- Tentukan nilai properti BodyEncoding.
- Buat sebuah instansi dari SmtpClient kelas dan kirim email menggunakan metode Send.
Fitur MailMessage
The MailMessage kelas mewakili konten sebuah pesan email. Instance dari kelas MailMessage digunakan untuk membangun pesan email yang ditransmisikan ke server SMTP untuk pengiriman menggunakan SmtpClient kelas. Artikel ini menunjukkan cara menggunakan fitur utilitas kelas MailMessage untuk mengontrol fitur email berikut:
- Tanggal dan waktu - Melalui kelas MailMessage setDate metode untuk mengatur tanggal dan waktu email.
- Prioritas pesan - MailPriority kelas menentukan tingkat prioritas untuk mengirim pesan email. Bisa rendah, normal, atau tinggi. Prioritas memengaruhi kecepatan transmisi dan pengiriman.
- Sensitivitas pesan - MailSensitivity kelas menentukan lima tingkat sensitivitas.
- Notifikasi pengiriman - Notifikasi pengiriman memberi tahu pengirim bahwa email yang mereka kirim telah sampai ke kotak masuk penerima.
Secara default, tanggal adalah tanggal aktual ketika pesan dikirim, dan waktu adalah waktu pengirimannya, seperti yang ditampilkan oleh Microsoft Outlook. Namun, waktu pengiriman email yang sesungguhnya ditambahkan oleh server SMTP itu sendiri dalam header email. Misalnya, di bawah ini adalah header email umum, di mana bidang Date diatur menggunakan MailMessage.setDate.
Potongan kode di bawah ini menggambarkan cara setiap fitur yang dibahas di atas dapat digunakan.
Meminta Tanda Terima Baca
Contoh kode pemrograman di bawah ini menunjukkan cara meminta tanda terima baca. Kelas MailMessage DeliveryNotificationOptions Properti enumerasi menjelaskan opsi notifikasi pengiriman untuk email. Untuk meminta tanda terima baca setelah mengirim email, ikuti langkah-langkah berikut:
- Buat sebuah instance dari kelas MailMessage.
- Tentukan pengirim, penerima, dan badan HTML untuk email dalam instance MailMessage.
- Tentukan DeliveryNotificationOptions dalam instance MailMessage lainnya.
- Buat sebuah instance dari kelas SmtpClient dan kirim email menggunakan metode Send.
Permintaan tanda terima baca tidak selalu dipenuhi karena:
- Klien email mungkin tidak mengimplementasikan fungsi tersebut.
- Pengguna akhir mungkin menonaktifkan fungsi tersebut.
- Pengguna akhir dapat memilih untuk tidak mengirimnya.
Potongan kode berikut menunjukkan cara meminta tanda terima baca.
Set Header Email
Header email mewakili standar Internet dan RFC mendefinisikan field header yang termasuk dalam pesan email Internet. Header email dapat ditentukan menggunakan MailMessage kelas. Tipe header umum didefinisikan dalam HeaderType kelas. Ini adalah kelas tertutup yang berfungsi seperti enumerasi biasa.
Biasanya header email berisi field-field berikut:
- To: Alamat penerima dapat ditentukan dalam field To. Penerima pada field To adalah audiens utama pesan. Dapat ada lebih dari satu alamat penerima.
- From: Field ini menampilkan alamat email pengirim pesan.
- Cc: Memungkinkan pengguna mengirim pesan sebagai "Carbon Copy" atau "Courtesy Copy". Artinya, penerima tidak diharapkan membalas atau bertindak. Biasanya, personel pengawas diberi tahu dengan CC.
- Bcc: Singkatan dari Blind Carbon Copy, merujuk pada praktik mengirim pesan ke banyak penerima sedemikian rupa sehingga apa yang mereka terima tidak berisi daftar lengkap penerima. Ini dimaksudkan untuk notifikasi tersembunyi.
- ReplyTo: Field header ini dimaksudkan untuk menunjukkan ke mana pengirim menginginkan balasan dikirim.
- Subject: Judul, heading, subjek. Sering digunakan sebagai indikator utas untuk pesan yang membalas atau mengomentari pesan lain.
- Date: Header ini menentukan tanggal (dan waktu). Biasanya ini adalah tanggal ketika pesan dibuat dan dikirim.
- XMailer: Informasi tentang perangkat lunak klien pengirim. Contoh: X-Mailer: Aspose.Email XMailer digunakan oleh klien email. Klien email yang berbeda akan memiliki nilai XMailer yang berbeda. Nilai XMailer pada MS Outlook adalah Microsoft Office Outlook, Build 11.0.5510. Nilai ini diabaikan oleh penerima email atau pembaca email.
Biasanya, header email terlihat seperti ini:
Reply-To: reply@reply.com
From: sender@sender.com
To: guangzhou@guangzhoo.com
Subject: test mail
Date: 6 Mar 2006 8:2:2 +0800
X-Mailer: Aspose.Email
Untuk menyesuaikan header email, ikuti langkah-langkah berikut:
- Buat sebuah instansi dari MailMessage kelas.
- Tentukan To, From, CC, Bcc, ReplyTo, Subject, Date & XMailer menggunakan sebuah instance dari kelas MailMessage.
- Buat sebuah instansi dari MimeHeader kelas dan tentukan header rahasia.
- Tambahkan header rahasia ke instance MailMessage.
Dalam kode di bawah ini, kami telah menyesuaikan header email.
Cuplikan kode di atas menghasilkan header email dalam format berikut. Hal ini dapat dilihat dengan membuka file MsgHeaders.msg di Microsoft Outlook dan kemudian melihat propertinya.
Reply-To: reply@reply.com
From: sender@sender.com
To: receiver1@receiver.com
CC: receiver2@receiver.com
BCC: receiver3@receiver.com
Subject: test mail
Date: 6 Mar 2006 8:2:2 +0800
X-Mailer: Aspose.Email
secret-header: mystery
Sisipkan Header pada Lokasi Spesifik
The Tambah metode HeadersCollection menyisipkan header di akhir koleksi. Namun, terkadang diperlukan menyisipkan header pada lokasi tertentu. Dalam kasus tersebut, metode Add tidak membantu. Untuk mencapai ini, gunakan Insert metode dari HeadersCollection. Jika koleksi berisi header dengan nama yang sama, header ini akan disisipkan sebelum header lain dengan nama yang sama. Berikut adalah tanda tangan metode Insert dan contoh kode penggunaannya.
Method Signature
HeaderCollection.insert(String name, String value)
Menambahkan Header Kustom ke Email
Contoh pemrograman di bawah ini menunjukkan cara menentukan header kustom dalam pesan email. Header email dapat ditentukan menggunakan kelas MailMessage. Untuk menentukan header kustom dalam pesan email, silakan ikuti langkah-langkah berikut:
- Buat sebuah instance dari kelas MailMessage.
- Tentukan nilai to, from, dan subject menggunakan instance MailMessage.
- Tambahkan header rahasia ke dalam instance MailMessage.
- Buat sebuah instance dari kelas SmtpClient dan kirim email menggunakan metode Send.
Cuplikan kode berikut menunjukkan cara menambahkan header kustom ke email.
Tandatangani Email dengan DKIM
Aspose.Email memungkinkan menandatangani Email dengan DKIM (DomainKeys Identified Mail). Ini memungkinkan organisasi mengambil tanggung jawab atas pesan yang sedang dalam transit (tentang DKIM). DKIM menambahkan tanda tangan digital ke header pesan email yang dapat divalidasi oleh penerima. Kunci publik pengirim memungkinkan penerima memverifikasi bahwa tanda tangan cocok dengan isi pesan. Kelas MailMessage dKIMSign metode digunakan untuk mengatur informasi kriptografi dan tanda tangan untuk menandatangani pesan. Cuplikan kode berikut menunjukkan cara menandatangani email dengan DKIM.
Melakukan Mail Merge
Mail merge membantu Anda membuat dan mengirim sekumpulan pesan email serupa. Inti dari email tersebut sama, tetapi kontennya dapat dipersonalisasi. Biasanya, detail kontak penerima (nama depan, nama belakang, perusahaan, dll) digunakan untuk mempersonalisasi email.
|
| | :- | |Gambar: Ilustrasi cara kerja mail merge|
Untuk melakukan mail merge dengan Aspose.Email, ikuti langkah-langkah berikut:
- Buat fungsi dengan nama signature
- Buat sebuah instansi dari MailMessage kelas.
- Tentukan pengirim, penerima, subjek, dan isi.
- Buat tanda tangan untuk bagian akhir email.
- Buat sebuah instansi dari TemplateRoutine kelas dan berikan kepadanya MailMessage instance.
- Ambil tanda tangan dalam TemplateRoutine instance.
- Buat sebuah instansi dari DataTable kelas.
- Tambah kolom Receipt, FirstName, dan LastName sebagai sumber data dalam kelas DataTable
- Buat sebuah instansi dari DataRow kelas
- Tentukan alamat penerima, nama depan, dan nama belakang dalam objek DataRow
- Buat sebuah instansi dari MailMessageCollection kelas
- Tentukan TemplateRoutine dan instance DataTable dalam MailMessageCollection instance.
- Buat sebuah instansi dari SmtpClient kelas dan tentukan server, port, nama pengguna, dan kata sandi
- Kirim email menggunakan SmtpClient metode kelas BulkSendAsync
Kode di bawah ini mengirim email ke satu orang dari tiga orang lainnya.