Създаване и задаване на съдържание на имейли
Създаване на ново имейл съобщение
Класът MailMessage представлява имейл съобщение и позволява на разработчиците да създават нови имейли. Основни свойства на имейла като From, To, Subject и body могат лесно да се зададат в новото съобщение. По същия начин можем да запазим имейл съобщението в различни формати като EML, MSG и MHTML.
- Създайте инстанция на класа MailMessage.
- Задайте свойства на имейл съобщението.
- Запазете имейл съобщението в различни формати.
Следният фрагмент от код показва как да създадете нов имейл с различни свойства.
Задаване на множество получатели
MailMessage представлява имейл съобщение. Инстанциите на класа MailMessage се използват за създаване на имейл съобщения, които се предават към SMTP сървър с помощта на класа SmtpClient. Тази тема демонстрира как да се посочат повече от един имейл адрес. Имейл адресите могат да се зададат чрез класа MailMessage. Имейл адресите, използвани в класа MailMessage, са:
- To - Адресите на получателите могат да се зададат в полето ‘To’. Получателите в полето ‘To’ са основната аудитория на съобщението. Може да има повече от един адрес на получател.
- Cc - CC означава „carbon copy“ (копие) или „courtesy copy“ (учтиво копие) и ви позволява да добавите получатели, които трябва да видят имейла, но не са задължени да предприемат действия. Мениджъри, например, или членове на вашия екип, които трябва да бъдат информирани за разговор. С Aspose.Email, адресите за CC могат да се задават в кода. По този начин автоматичните имейли, или всички имейли към конкретен адрес, могат да се копират на съответния персонал.
- Bcc - Bcc, слепо копиране (blind carbon copy), ви позволява да изпратите имейл до получател, който е скрит от другите получатели. Докато CC се появява в имейл информацията, видима за основните получатели, Bcc не се показва. Той е предназначен за скрити известия.
За да зададете множество имейл адреси в имейл съобщение, следвайте тези стъпки:
- Създайте инстанция на класа MailMessage.
- Задайте адреса на изпращача (From) и множество адреси в полетата To, Cc и Bcc, използвайки инстанцията MailMessage.
- Създайте инстанция на класа SmtpClient и изпратете имейла, като използвате метода Send.
Следният примерен код показва как могат да се зададат множество адреси в полетата To, CC и BCC.
Промяна на имейл адресите в приятелско име
Примерите в кода по-долу демонстрират как да промените имейл адресите в приятелски имена в имейл съобщение. Приятелското име е име, което е по‑човешко от имейл адреса, например John Smith вместо js346@domain.com. При изпращане на имейл, можем да асоциираме приятелско име с имейл адрес в конструктора на класа MailMessage.
За да промените имейл адресите в приятелски имена в имейл съобщение, следвайте тези стъпки:
- Създайте инстанция на класа MailMessage и задайте имейл адресите в полетата To и From, заедно с приятелски имена.
- Задайте Cc и Bcc имейл адресите заедно с приятелски имена, като извикате конструктора на класа MailMessage при създаване на инстанцията MailMessage.
- Създайте инстанция на класа SmtpClient и изпратете имейла, като използвате метода Send.
Следният кодов фрагмент показва как да се показват имена за имейл адресите.
Задаване на тяло на имейл
Класът MailMessage представлява имейл съобщение. Инстанциите на класа MailMessage се използват за конструиране на имейл съобщения, които се предават към SMTP сървър за доставка, използвайки класа SmtpClient. Тялото на имейла може да се зададе чрез класа MailMessage. Имейл може да има множество тела. В класа MailMessage има два типа тела на имейл:
- HTML тяло
- Текстово тяло
В допълнение към HtmlBody и TextBody, Aspose.Email разполага с още две свойства само за четене, свързани с тялото на имейла:
- IsBodyText: информира потребителя дали тялото е текст.
- IsBodyHtml: информира потребителя дали тялото е HTML или обикновен текст.
Тази статия показва как да дефинирате чист текст или HTML тяло на съобщението, да зададете алтернативен текст и да кодирате тялото на имейла.
Задаване на HTML тяло
HtmlBody се използва за задаване на HTML съдържанието на тялото на съобщението. HtmlBody трябва да бъде обградено с таговете . Следният кодов отрязък ви показва как да зададете HTML тяло.
Задаване на алтернативен текст
Използвайте класа AlternateView, за да зададете копия на имейл съобщението в различни формати. Например, ако изпратите съобщение в HTML, може да искате да предоставите и версия в обикновен текст за случаите, когато някои получатели използват имейл клиенти, които не могат да показват HTML съдържание. Този клас има две свойства – LinkedResources и BaseUri, които се използват за резолиция на URL адреси в съдържанието на имейла.
- LinkedResources е колекция от обекти LinkedResources. При рендиране, URL‑тата в съдържанието на имейла първо се съпоставят с URL‑тата в Content Link на всеки обект LinkedResources в колекцията и се разрешават.
- BaseUri се използва от четеца на имейли за разрешаване на относителни URL адреси в тялото, както и за разрешаване на относителни URL адреси за връзки в съдържанието, в колекцията LinkedResources.
Следният кодов фрагмент показва как да зададете алтернативен текст.
Функции на MailMessage
Този MailMessage class представлява съдържанието на имейл съобщение. Екземпляри на MailMessage class се използва за създаване на имейл съобщение, което се предава на SMTP сървър за доставка чрез SmtpClient class. Тази статия показва как да се използва MailMessage class utility функции за управление на следните характеристики на имейла:
- Дата и час - Чрез MailMessage Свойството class Date ни позволява да получим или зададем датата и времето на имейла.
- Приоритет на съобщението – MailPriority клас задава нива на приоритет за изпращане на имейл съобщение. Приоритетът може да е нисък, нормален или висок. Приоритетът влияе върху скоростта на предаване и доставката.
- Чувствителност на съобщението – MailSensitivity клас задава пет нива на чувствителност.
- Известие за доставка – Известията за доставка информират изпращача, че имейлът, който е изпратил, е доставен в пощенската кутия на получателя.
По подразбиране датата е реалната дата, на която е изпратено съобщението, а времето е времето, когато е изпратено, както се показва в Microsoft Outlook. Въпреки това, действителното време на доставка на имейла се добавя от самия SMTP сървър в заглавието на писмото. Например, по-долу е често срещано заглавие на писмо, където полето Date задава датата.
Следният кодов фрагмент илюстрира как всяка от гореспоменатите функции може да се използва.
Искане на разписка за прочитане
Програмните образци по-долу показват как можете да поискате разписка за прочитане. Това MailMessage клас DeliveryNotificationOptions Свойството за изброяване описва опциите за известие за доставка на имейл. За да поискате разписка за прочитане след изпращане на имейл, следвайте тези стъпки:
- Създайте инстанция на MailMessage клас.
- Посочете подателя, получателя и HTML тялото за имейла в MailMessage екземпляр.
- Укажете DeliveryNotificationOptions в други MailMessage екземпляри.
- Създайте инстанция на SmtpClient клас и изпратете имейла, използвайки метода Send.
Заявките за разписка за прочитане може да не се спазват винаги, защото:
- Имейл клиентът може да не реализира тази функция.
- Крайният потребител може да има тази функция изключена.
- Крайният потребител може да избере да не изпрати такава.
Следният кодов фрагмент показва как да поискате разписка за прочитане.
Задаване на имейл заглавки
Заглавките на имейл представляват интернет стандарт и RFC дефинира полетата на заглавките, включени в интернет имейл съобщения. Заглавка на имейл може да се зададе чрез класа MailMessage. Често използваните типове заглавки са дефинирани в класа HeaderType. Той е запечатан клас, работещ като обикновен изброител.
Обикновено заглавка на имейл съдържа следните полета:
- To: Адресите на получателите могат да се зададат в полето To. Получателите в полето To са основната аудитория на съобщението. Може да има повече от един адрес на получател.
- From: Това поле показва имейл адреса на подателя на съобщението.
- Cc: Позволява на потребителите да изпратят съобщение като „Carbon Copy“ или „Courtesy Copy“. Това означава, че получателят не се очаква да отговори или да действа. Обикновено надзорният персонал се уведомява чрез CC.
- Bcc: Съкращение от Blind Carbon Copy, означава изпращане на съобщение до множество получатели по начин, по който те не получават пълния списък с получатели. Предназначено е за скрити известия.
- ReplyTo: Това поле в заглавката указва къде подателят желае да бъдат изпратени отговорите.
- Subject: Заглавие, тема, предмет. Често се използва като индикатор за нишка за съобщения, отговарящи на или коментиращи други съобщения.
- Date: Тази заглавка задава дата (и час). Обикновено това е датата, на която съобщението е съставено и изпратено.
- XMailer: Информация за клиентския софтуер на подателя. Пример: X-Mailer: Aspose.Email XMailer се използва от клиентите за имейл. Различните клиенти за имейл имат различни стойности за XMailer. Стойността на XMailer в MS Outlook е Microsoft Office Outlook, Build 11.0.5510. Тя се игнорира от получателя на имейла или четеца на имейли.
Обикновено заглавка на имейл изглежда приблизително така:
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
За да персонализирате заглавка на имейл, следвайте тези стъпки:
- Създайте инстанция на MailMessage клас.
- Посочете To, From, CC, Bcc, ReplyTo, Subject, Date & XMailer, като използвате екземпляр на MailMessage.
- Създайте инстанция на MimeHeader клас и задайте тайна заглавка.
- Добавете тайната заглавка към MailMessage екземпляр.
Следният фрагмент от код показва как да зададете заглавки на имейл.
Горният фрагмент от код създава заглавка на имейл във следния формат. Това може да се види, като отворите получилия се файл "MsgHeaders.msg" в Microsoft Outlook и разгледате Свойствата.
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
Вмъкване на заглавка на конкретно място
Този Добавяне метод на HeadersCollection клас вмъква заглавката в края на колекцията. Въпреки това понякога може да е необходимо да се вмъкне заглавка на определено място. В такъв случай, Добавяне методът не е полезен. За да постигнете това, използвайте Insert метод на HeadersCollection. Ако колекцията съдържа хедъри със същото име, този хедър ще бъде вмъкнат преди другите хедъри със същото име. Следният кодов отрязък ви показва как да вмъкнете хедър на конкретно място.
Добавяне на персонализирани заглавки към имейл
Примерите в кода по-долу демонстрират как да се зададе персонализиран хедър в имейл съобщение. Хедър на имейл може да се зададе чрез MailMessage клас. За да зададете персонализиран хедър в имейл съобщение, следвайте тези стъпки:
- Създайте инстанция на MailMessage клас.
- Укажете стойностите за to, from и subject, използвайки екземпляра на MailMessage.
- Добавете тайния хедър в MailMessage екземпляр.
- Създайте инстанция на класа SmtpClient и изпратете имейла, като използвате метода Send.
Следният кодов отрязък ви показва как да добавите персонализирани заглавки към имейл.