E-postaların Oluşturulması ve İçeriklerinin Ayarlanması
Yeni E-posta Mesajı Oluştur
Aspose.Email for Java, geliştiricilerin sıfırdan MIME (Multipurpose Internet Mail Extensions) mesajları oluşturmasını sağlar. Bu amaç için Aspose.Email for Java API’sindeki ana sınıf şudur: MailMessage sınıfı. Bu konu, Aspose.Email for Java kullanarak EML, MSG ve MTH dosya formatlarında e-posta mesajları oluşturmak için gerekli adımları açıklamaktadır.
Sıfırdan bir e-posta mesajı oluşturmak için:
- MailMessage sınıfının bir örneğini oluşturun.
- Mesaj konusunu kullanarak ayarlayın setSubject() metod.
- Mesaj gövdesini kullanarak ayarlayın setHtmlBody() metod.
- E-posta göndericisini kullanarak ayarlayın setFrom() metod.
- TO alanındaki alıcıyı kullanarak ayarlayın getTo().add() metod.
- CC alanındaki alıcıyı kullanarak ayarlayın getCC().add() metod.
- Şuğu çağırın Save() mesaj dosyasını MSG, EML ve MHT formatlarında diske kaydetmek için yöntem.
Birden Fazla Alıcı Belirtme
Bu MailMessage bir e-posta mesajını temsil eder. MailMessage sınıfının örnekleri, bir SMTP sunucusuna iletilen e-posta mesajları oluşturmak için kullanılır. SmtpClient sınıfı. Bu konu, birden fazla e-posta adresinin nasıl belirtileceğini gösterir. E-posta adresleri MailMessage sınıfı kullanılarak belirtilir. MailMessage sınıfında kullanılan e-posta adresleri şunlardır:
- To - Alıcı adresleri ‘To’ alanında belirtilir. ‘To’ alanındaki alıcılar mesajın ana hedef kitlesidir. Birden fazla alıcı adresi olabilir.
- Cc - CC, "carbon copy" (karbon kopya) ya da "courtesy copy" (nazik kopya) anlamına gelir ve e-postayı görmesi gereken ancak mutlaka bir işlem yapması beklenmeyen alıcıları eklemenizi sağlar. Örneğin yöneticiler ya da ekibinizin bir konuşmadan haberdar olması gereken üyeler. Aspose.Email ile CC adreslerini kodunuzda belirtebilirsiniz. Böylece otomatik e-postalar ya da belirli bir adrese gönderilen tüm e-postalar ilgili personele kopyalanabilir.
- Bcc - Bcc, gizli karbon kopya, alıcıyı diğer alıcılardan gizli olarak bir e-posta göndermenizi sağlar. CC, ana alıcıların gördüğü e-posta bilgilerinde yer alırken, Bcc görünmez. Bu, gizli bildirim için kullanılır.
Bir e-posta mesajında birden fazla e-posta adresi belirtmek için şu adımları izleyin:
- MailMessage sınıfının bir örneğini oluşturun.
- MailMessage örneğini kullanarak From ve birden fazla To, Cc ve Bcc adresini belirtin.
- SmtpClient sınıfının bir örneğini oluşturun ve e-postayı Send yöntemiyle gönderin.
Aşağıdaki kod örneği, birden fazla To, CC ve BCC adresinin nasıl belirtilebileceğini gösterir.
E-posta adreslerini dostane isme değiştirme
Aşağıdaki program örnekleri, bir e-posta mesajındaki e-posta adreslerini dostane isimlere nasıl değiştireceğinizi gösterir. Dostane isim, e-posta adresinden daha insan dostu bir isimdir; örneğin js346@domain.com yerine John Smith. Bir e-posta gönderirken, bir e-posta adresine bir dostane isim ilişkilendirebiliriz. MailMessage sınıf yapıcısı.
Bir e-posta mesajındaki e-posta adreslerini dostane isimlere değiştirmek için şu adımları izleyin:
- MailMessage sınıfının bir örneğini oluşturun ve To ve From alanlarındaki e-posta adreslerini dostane (friendly) isimlerle belirtin.
- MailMessage örneğinde MailMessage sınıfı yapıcısını çağırarak Cc ve Bcc e-posta adreslerini dostane (friendly) isimlerle belirtin.
- SmtpClient sınıfının bir örneğini oluşturun ve e-postayı Send yöntemiyle gönderin.
Aşağıdaki kod parçacığı, e-posta adresleri için İsimlerin nasıl görüntüleneceğini gösterir.
Mail Gövdesini Ayarla
Bu MailMessage sınıfı bir e-posta mesajını temsil eder. MailMessage sınıfının örnekleri, bir SMTP sunucusuna teslimat için iletilen e-posta mesajları oluşturmakta kullanılır. SmtpClient sınıfı. MailMessage sınıfı kullanılarak bir mail gövdesi belirtilebilir. Bir e-posta gövdesi şu şekilde belirtilebilir: setHtmlBody MailMessage içinde yöntem.
Bunun yanı sıra HtmlBody, Aspose.Email’in mail gövdesiyle ilgili başka bir yöntemi daha vardır:
- isBodyHtml: gövdenin HTML mi yoksa düz metin mi olduğunu kullanıcıya bildirir.
Bu konu, HTML gövde metninin nasıl tanımlanacağını ve alternatif metnin nasıl ayarlanacağını gösterir.
HTML Gövdesi Ayarlama
HtmlBody bir mesaj gövdesinin HTML içeriğini belirtmek için kullanılır. HtmlBody, etiketleri arasında olmalıdır. Aşağıdaki kod parçacığı HTML gövdesinin nasıl ayarlanacağını gösterir.
Alternatif Metin Ayarlama
Kullan AlternateView farklı formatlarda bir e-posta mesajının kopyalarını belirtmek için sınıf. Örneğin, bir mesajı HTML olarak gönderiyorsanız, bazı alıcıların HTML içeriğini gösteremeyen e-posta okuyucuları kullanabileceği durumlar için düz metin versiyonunu da sağlayabilirsiniz. Bu sınıfın iki özelliği vardır, LinkedResources ve BaseUri, ki bu da e-posta içeriğindeki URL’leri çözmek için kullanılır.
- LinkedResources, LinkedResources nesnelerinin bir koleksiyonudur. Render edildiğinde, e-posta içeriğindeki URL’ler önce LinkedResources koleksiyonundaki her LinkedResources nesnesinin Content Linkindeki URL’lerle eşleştirilir ve çözülür.
- BaseUri, mail okuyucu tarafından gövde içindeki göreli URL’leri ve ayrıca LinkedResources koleksiyonundaki göreli Content Link URL’lerini çözmek için kullanılır.
Aşağıdaki kod parçacığı alternatif metnin nasıl ayarlanacağını gösterir.
Mail Gövde Kodlamasını Belirtme
İçerik tipi, e-posta içerik formatını tanımlar: karakter seti. Örneğin, java.nio.Charset içinde sağlanan birkaç yaygın karakter seti şunlardır:
- US-ASCII - Yedi‑bit ASCII, diğer adıyla ISO646-US, Unicode karakter setinin Temel Latin bloğu
- ISO-8859-1 - ISO Latin Alfabesi No. 1, diğer adıyla ISO-LATIN-1
- UTF-8 - Sekiz‑bit UCS Dönüşüm Formatı
- UTF-16BE - Onaltı-bit UCS Dönüşüm Formatı, büyük‑sonlu (big-endian) bayt sırası
- UTF-16LE - Onaltı-bit UCS Dönüşüm Formatı, küçük‑sonlu (little-endian) bayt sırası
- UTF-16 - Onaltı-bit UCS Dönüşüm Formatı, bayt sırası isteğe bağlı bir bayt sırası işareti (BOM) ile belirlenir
Aspose.Email şunu kullanır: BodyEncoding MailMessage sınıfının e-posta gövdesi kodlamasını belirtmek için özelliği. Bir e-posta mesajının gövdesini kodlamak için aşağıdaki adımları izleyin:
- MailMessage sınıfının bir örneğini oluşturun.
- MailMessage örneğinde göndericiyi, alıcıyı ve HTML gövde e-postasını belirtin.
- BodyEncoding özelliği değerini belirtin.
- Şunun bir örneğini oluştur SmtpClient sınıfı ve e-postayı Send yöntemiyle gönderin.
MailMessage Özellikleri
Bu MailMessage sınıf bir e-posta mesajının içeriğini temsil eder. MailMessage sınıfının örnekleri, bir SMTP sunucusuna teslim için iletilen e-posta mesajı oluşturmakta kullanılır. SmtpClient sınıf. Bu makale, aşağıdaki e-posta özelliklerini kontrol etmek için MailMessage sınıfı yardımcı özelliklerini nasıl kullanacağınızı gösterir:
- Tarih ve saat - MailMessage sınıfı aracılığıyla setDate bir e-postanın tarih ve saatini ayarladığımız yöntem.
- Mesaj önceliği - MailPriority sınıf, bir e-posta mesajı gönderirken öncelik seviyelerini belirtir. Düşük, normal veya yüksek olabilir. Öncelik, iletim hızı ve teslimatı etkiler.
- Mesaj duyarlılığı - MailSensitivity sınıf beş duyarlılık seviyesini belirtir.
- Teslim bildirimi - Teslim bildirimleri, göndericilere gönderilen e-postanın alıcının gelen kutusuna teslim edildiğini bildirir.
Varsayılan olarak, tarih mesajın gönderildiği gerçek tarih ve saat de gönderildiği gerçek saat olur; bu, Microsoft Outlook tarafından gösterildiği gibidir. Ancak gerçek e-posta teslim zamanı, SMTP sunucusu tarafından posta başlığında eklenir. Örneğin, aşağıda yaygın bir posta başlığı vardır; Date alanı MailMessage.setDate kullanılarak ayarlanmıştır.
Aşağıdaki kod parçacığı, yukarıda tartışılan her bir özelliğin nasıl kullanılabileceğini gösterir.
Okundu Teyidi İsteme
Aşağıdaki programlama örnekleri, okundu teyidi isteyebileceğinizi gösterir. MailMessage sınıfı DeliveryNotificationOptions Sayım özelliği şunu tanımlar teslim bildirimi seçenekleri bir e-posta için. Bir e-posta gönderdikten sonra okundu teyidi istemek için aşağıdaki adımları izleyin:
- MailMessage sınıfının bir örneğini oluşturun.
- MailMessage örneğinde e-posta için göndericiyi, alıcıyı ve HTML gövdeyi belirtin.
- Diğer MailMessage örneklerinde DeliveryNotificationOptions özelliğini belirtin.
- SmtpClient sınıfının bir örneğini oluşturun ve e-postayı Send yöntemiyle gönderin.
Okuma makbuzu talepleri her zaman yerine getirilmeyebilir çünkü:
- Bir mail istemcisi bu işlevi uygulamayabilir.
- Son kullanıcı bu işlevi devre dışı bırakmış olabilir.
- Son kullanıcı birini göndermeyi seçmeyebilir.
Aşağıdaki kod parçacığı bir okuma makbuzu istemeyi gösterir.
E-posta Üstbilgilerini Ayarla
E-posta üstbilgileri bir Internet standardını temsil eder ve RFC, Internet e-posta mesajlarına dahil edilen üstbilgi alanlarını tanımlar. Bir e-posta üstbilgisi şu şekilde belirtilebilir: MailMessage sınıf. Ortak üstbilgi tipleri şurada tanımlanır: HeaderType sınıf. Normal bir enumerasyon gibi çalışan mühürlenmiş bir sınıftır.
Genellikle bir e-posta üstbilgisi şu alanları içerir:
- To: Alıcı adresleri To alanında belirtilebilir. To alanı alıcıları, mesajın birincil hedef kitlesidir. Birden fazla alıcı adresi olabilir.
- From: Bu alan, mesaj gönderenin e-posta adresini gösterir.
- Cc: Kullanıcıların bir mesajı "Carbon Copy" (Karbon Kopya) veya "Courtesy Copy" (Nezaket Kopyası) olarak göndermesini sağlar. Yani alıcıdan yanıt vermesi veya bir işlem yapması beklenmez. Genellikle denetleyici personel Cc ile bilgilendirilir.
- Bcc: Blind Carbon Copy (Gizli Karbon Kopya) anlamına gelir, alıcıların tam alıcı listesini görmediği şekilde birden fazla alıcıya mesaj gönderme uygulamasına atıfta bulunur. Gizli bildirim içindir.
- ReplyTo: Bu üstbilgi alanı, göndericinin yanıtların nereye gitmesini istediğini gösterir.
- Subject: Başlık, konu. Genellikle diğer mesajlara yanıt verirken veya yorum yaparken konu göstergesi olarak kullanılır.
- Date: Bu üstbilgi bir tarih (ve saat) belirtir. Normalde bu, mesajın oluşturulduğu ve gönderildiği tarihtir.
- XMailer: Gönderenin istemci yazılımı hakkında bilgi. Örnek: X-Mailer: Aspose.Email XMailer, e-posta istemcileri tarafından kullanılır. Farklı e-posta istemcileri farklı XMailer değerlerine sahiptir. MS Outlook’un XMailer değeri Microsoft Office Outlook, Build 11.0.5510’dır. Bu, e-posta alıcısı veya okuyucu tarafından yoksayılır.
Genellikle, bir e-posta üstbilgisi şu şekilde görünür:
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
Bir e-posta üstbilgisini özelleştirmek için şu adımları izleyin:
- Şunun bir örneğini oluştur MailMessage sınıf.
- MailMessage sınıfının bir örneğini kullanarak To, From, CC, Bcc, ReplyTo, Subject, Date ve XMailer’ı belirtin.
- Şunun bir örneğini oluştur MimeHeader sınıfı ve gizli üstbilgiyi belirleyin.
- Gizli üstbilgiyi MailMessage örneğine ekleyin.
Aşağıda verilen kodda, bir e-posta üstbilgisini özelleştirdik.
Yukarıdaki kod parçacığı, aşağıdaki biçimde bir e-posta üstbilgisi üretir. Bu, MsgHeaders.msg dosyasını Microsoft Outlook’ta açıp özelliklerini görüntüleyerek görülebilir.
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
Üstbilgiyi Belirli Bir Konuma Ekle
Bu Ekle HeadersCollection metodunun koleksiyonun sonuna üstbilgi ekler. Ancak bazen bir üstbilgiyi belirli bir konuma eklemek gerekebilir. Bu durumda Add metodu yardımcı olmaz. Bunu başarmak için şunu kullanın: Insert HeadersCollection metodudur. Koleksiyon aynı isimde üstbilgiler içeriyorsa, bu üstbilgi aynı isimdeki diğer üstbilgilerin önüne eklenecektir. Aşağıda Insert metodunun imzası ve kullanım örnek kodu verilmiştir.
Method Signature
HeaderCollection.insert(String name, String value)
E-postaya Özel Üstbilgiler Eklemek
Aşağıdaki programlama örnekleri, bir e-posta mesajında özel bir üstbilgi nasıl belirtilir gösterir. Bir e-posta üstbilgisi MailMessage sınıfı kullanılarak belirtilir. Bir e-posta mesajında özel bir üstbilgi belirtmek için lütfen aşağıdaki adımları izleyin:
- MailMessage sınıfının bir örneğini oluşturun.
- MailMessage örneğini kullanarak to, from ve subject değerlerini belirtin.
- Gizli üstbilgiyi MailMessage örneğine ekleyin.
- SmtpClient sınıfının bir örneğini oluşturun ve e-postayı Send yöntemiyle gönderin.
Aşağıdaki kod parçacığı, e-postaya özel üstbilgiler eklemenizi gösterir.
E-postaları DKIM ile İmzala
Aspose.Email, DKIM (DomainKeys Identified Mail) ile e-posta imzalamayı sağlar. Bu, bir kuruluşun taşıma halindeki bir mesajdan sorumluluk almasını sağlar (DKIM hakkında). DKIM, alıcılar tarafından doğrulanabilecek bir dijital imzayı e-posta mesajı üstbilgilerine ekler. Gönderenin genel anahtarı, alıcının imzanın mesaj içeriğiyle eşleştiğini doğrulamasını sağlar. MailMessage sınıfı dKIMSign metodu, mesajı imzalamak için kriptografik ve imza bilgilerini ayarlamakta kullanılır. Aşağıdaki kod parçacığı, DKIM ile e-postaları nasıl imzalayacağınızı gösterir.
Mail Merge İşlemi
Mail merge, benzer e-posta mesajlarından bir toplu oluşturup göndermenize yardımcı olur. E-postaların temel içeriği aynı olmakla birlikte, içerik kişiselleştirilebilir. Genellikle alıcıların iletişim bilgileri (ad, soyad, şirket vb.) e-postayı kişiselleştirmek için kullanılır.
|
| | :- | |Şekil: Bir mail merge’in nasıl çalıştığını gösteren illüstrasyon|
Aspose.Email ile bir posta birleştirme (mail merge) yapmak için aşağıdaki adımları izleyin:
- İmza adlı bir fonksiyon oluşturun
- Şunun bir örneğini oluştur MailMessage sınıf.
- Gönderen, alıcı, konu ve gövdeyi belirtin.
- E-postanın sonu için bir imza oluşturun.
- Şunun bir örneğini oluştur TemplateRoutine sınıfına ve ona MailMessage örnek.
- İmzayı al TemplateRoutine örnek.
- Şunun bir örneğini oluştur DataTable sınıf.
- DataTable sınıfına Receipt, FirstName ve LastName sütunlarını veri kaynağı olarak ekleyin
- Şunun bir örneğini oluştur DataRow sınıf
- DataRow nesnesinde makbuz adresini, ad ve soyadı belirtin
- Şunun bir örneğini oluştur MailMessageCollection sınıf
- Şunu belirtin: TemplateRoutine ve DataTable örneklerinde MailMessageCollection örnek.
- Şunun bir örneğini oluştur SmtpClient sınıfı ve sunucu, port, kullanıcı adı ve şifreyi belirtin
- Şu kullanarak e-posta gönderin: SmtpClient class BulkSendAsync metodu
Aşağıdaki kod, üç kişiden bir kişiye e-posta gönderir.