Attachment sinfi-fayllar joylashuvini boshqaradi. Bu sinf elektron



Download 17,37 Kb.
Sana21.07.2022
Hajmi17,37 Kb.
#832349
Bog'liq
2mus


2.2.C# da Net.mail kutubxonasi bilan ishlash.
SMTP Klient sinfi elektron pochta uchun SMTP serverida ishlaydi. SMTP protokoli manzilga yo’naltiruvchi RFC 2821 standarti uchun mo’ljallangan.
SMTP Klient sinfida xabararni elektron pochtada yuborish uchun quyidagi tushunchalarni bilishimiz kerak bo’ladi:
Attachment sinfi-fayllar joylashuvini boshqaradi. Bu sinf elektron pochta xabarlarining fayl, potok yoki matnligiga qarab ularni saralaydi. MailAddress- Elektron pochta yuboruvchisi va qabul qiluvchi manzilini namoyish etadi.

MailMessage


-Elektron pochta xabarlarini ko’rsatadi










Elektron pochta xabarlarini yasash va yuborish uchun Smtp Klient yordamidan foydalanish zarur. Buning uchun quyidagi vazifalarni bajarish kerak bo’ladi:


- SMTP server-xost, Elektron pochta jo’natmalari uchun foydalaniladi. Host va Port tarkibida qarab chiqiladi.
-Credentials ma’lumotlarni to’liqligicha tekshiradi,agar bu SMTP server uchun zarur bo’lsa.
-Send va SendAsync-elektron pochta jo’natuvchilari manzili shu metodlar orqali amalga oshiriladi. Xuddi shunday vazifani MailMessage.From ham amalga oshira oladi.
-Elektron xabarlarni jo’natuvchi manzili Send va SendAsync qabul qiluvchi metod amalga oshiradi. Xuddi shunday vazifani MailMessage.To ham amalga oshira oladi.
MailMessage.Body- Send va SendAsync metodidagi xabarlarni o’zida saqlovchi.
Elektron pochta xabarlari xizmatini yoqish uchun, avvalo Attachment sinfi yordamida ruxsatni tashkil qilish lozim, undan keyin esa unga xabar qo’shish uchun MailMessage.Attachments buyrug’idan foydalanamiz. Elektron pochta foydalanuvchilari har ikkala qabul qiluvchi tomonlar va fayl tipi ko’rinishi bir xil bo’lishi kerak, aks holda ular xabarlarni o’qiy olmasligi mumkin. Ba’zi ma’lumotlarni o’qiy olmagan foydalanuvchi uchun MailMessage.AlternateViews buyrug’i yordamida universal xabar o’qish va yuborish imkoniyati yaratiladi.
Taqdimotlar konfiguratsiyasi va kompyuter fayllar yordamida SmtpClient xost, port va quriladigan ma’lumotlarning barcha obyektlarining parametrlarini belgilashi mumkin.
Elektron pochta xabarlarini yuborish uchun va xabarlarning SMTP serverda xabar yuborilayotgan vaqtini bloklash uchun Send metodi kerak bo’ladi. Bosh patokka dasturda xabar yuborishni davom ettirish uchun SendAsync metodidan foydalaniladi. SendCompleted hodisasi SendAsync operatsiyasi ishida ruxsat vazifasini bajaradi. Bu hodisani amalga oshirish uchun SendCompleted ga SendCompletedEventHandler delegatni qo’shish kerak bo’ladi. Delegat SendCompletedEventHandler hodisasida so’rovni qaytaruvchi SendCompleted metodga murojaat qilishi zarur. Elektron pochta jo’natmalari sinxronligini yo’qotish, ishni yakunlash uchun SendAsyncCancel metodidan foydalaniladi.
using System;
using System.Net;
using System.Net.Mail;
using System.Net.Mime;
using System.Threading;
using System.ComponentModel;
namespace Examples.SmptExamples.Async
{
public class SimpleAsynchronousExample

{
static bool mailSent = false;


private static void SendCompletedCallback(object sender, AsyncCompletedEventArgs e)
{
// Get the unique identifier for this asynchronous operation.

String token = (string) e.UserState;


if (e.Cancelled)
{
Console.WriteLine("[{0}] Send canceled.", token);

}
if (e.Error != null)


{
Console.WriteLine("[{0}] {1}", token, e.Error.ToString());

} else
{


Console.WriteLine("Message sent.");

}
mailSent = true;


}
public static void Main(string[] args)

{
// Command line argument must the the SMTP host.


SmtpClient client = new SmtpClient(args[0]);
// Specify the e-mail sender.
// Create a mailing address that includes a UTF8 character
// in the display name.
MailAddress from = new MailAddress("jane@contoso.com",
"Jane " + (char)0xD8+ " Clayton",
System.Text.Encoding.UTF8);
// Set destinations for the e-mail message.
MailAddress to = new MailAddress("ben@contoso.com");
// Specify the message content.
MailMessage message = new MailMessage(from, to);
message.Body = "This is a test e-mail message sent by an application. ";
// Include some non-ASCII characters in body and subject.
string someArrows = new string(new char[] {'\u2190', '\u2191', '\u2192', '\u2193'});
message.Body += Environment.NewLine + someArrows;
message.BodyEncoding = System.Text.Encoding.UTF8;
message.Subject = "test message 1" + someArrows;
message.SubjectEncoding = System.Text.Encoding.UTF8;
// Set the method that is called back when the send operation ends.
client.SendCompleted += new
SendCompletedEventHandler(SendCompletedCallback);
// The userState can be any object that allows your callback
// method to identify this send operation.
// For this example, the userToken is a string constant.
string userState = "test message1";
client.SendAsync(message, userState);
Console.WriteLine("Sending message... press c to cancel mail. Press any other key to exit.");
string answer = Console.ReadLine();
// If the user canceled the send, and mail hasn't been sent yet,
// then cancel the pending operation.
if (answer.StartsWith("c") && mailSent == false)
{
client.SendAsyncCancel();

}
// Clean up.


message.Dispose();
Console.WriteLine("Goodbye.");
}
}

}
Download 17,37 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish