La classe SmtpClient
permet aux applications d'envoyer des e-mails à l'aide du Simple Mail Transfer Protocol (SMTP).
Espace de noms : system.net.mail
Attributs
ClientCertificates : Spécifie quel certificat doit être utilisé pour établir une connexion SSL (Secure Socket Layer)
Credentials : Obtient ou définit les informations d'identification utilisées pour authentifier l'expéditeur
DeliveryFormat : Obtient ou définit le format de livraison utilisé par SmtpClient pour envoyer des e-mails
DeliveryMethod : Spécifie comment envoyer des e-mails Mail traitera le message
EnableSsl : Spécifie si SmtpClient utilise des connexions cryptées Secure Sockets Layer (SSL)
Hôte : Obtient ou définit l'adresse IP de l'hôte utilisé pour enregistrer une ou plusieurs transactions SMTP Adresse
PickupDirectoryLocation : Obtient ou définit le dossier dans lequel l'application enregistre le courrier pour traitement par le serveur SMTP local
Port : Obtient ou définit le port utilisé pour les transactions SMTP
ServicePoint : Obtient la connexion réseau utilisé pour transférer des e-mails
TargetName : obtient ou définit le nom du fournisseur de services (SPN) lors de l'utilisation de la protection étendue pour l'authentification
Timeout : obtient ou définit une valeur qui spécifie le délai d'expiration pour l'envoi d'appels
UseDefaultCredentials : obtient ou définit une valeur booléenne qui contrôle si les DefaultCredentials sont envoyés avec la requête
Method
Dispose()
Envoyer un message QUIT au SMTP serveur, terminez la connexion TCP normalement et libérez toutes les ressources de la classe SmtpClient utilisée par l'instance actuelle
Dispose(Boolean)
Envoyer un message QUIT Lorsqu'il est envoyé au serveur SMTP et au TCP la connexion se termine normalement, toutes les ressources de la classe SmtpClient utilisées par l'instance actuelle sont libérées et les ressources gérées peuvent être libérées selon les besoins
Equals(Object)
Déterminer l'objet spécifié s'il est égal à l'objet actuel
Finalize()
Autoriser un objet à essayer de libérer des ressources et d'effectuer d'autres opérations de nettoyage avant que le mécanisme de récupération de place ne le recycle
GetHashCode()
Comme fonction de hachage par défaut
GetType()
Obtenir le type de l'instance actuelle
MemberwiseClone()
Créer le current Object Shallow copy
OnSendCompleted(AsyncCompletedEventArgs)
Lève l'événement SendComplete
Send(MailMessage)
Envoie le message spécifié au serveur SMTP pour livraison
Envoyer(String, String, String, String)
Envoie l'e-mail spécifié au serveur SMTP pour livraison. SendAsync(MailMessage, Object)
utilise l'objet String spécifié
pour envoyer l'e-mail spécifié au serveur SMTP pour livraison. Cette méthode ne bloque pas le thread appelant et permet à l'appelant de transmettre l'objet à la méthode appelée lorsque l'opération est terminée
SendAsync(String, String, String, String, Object)
enverra un L'e-mail est envoyé au serveur SMTP pour livraison. L'expéditeur de l'e-mail, les destinataires, l'objet et le corps du message sont spécifiés à l'aide d'objets String. Cette méthode ne bloque pas le thread appelant et permet à l'appelant de transmettre l'objet à la méthode appelée une fois l'opération terminée.
SendAsyncCancel()
Annule une opération asynchrone pour envoyer un email
SendMailAsync(MailMessage)
Envoie le message spécifié au serveur SMTP pour un message asynchrone opération transmise dans le formulaire.
SendMailAsync(String, String, String, String)
Envoie le message spécifié au serveur SMTP pour livraison en tant qu'opération asynchrone. . L'expéditeur de l'e-mail, les destinataires, l'objet et le corps du message sont spécifiés à l'aide d'objets String.
ToString()
Renvoie une chaîne représentant l'objet actuel. (Hérité de Object.)
Événement
SendCompleted
Se produit lorsqu'une opération d'envoi d'e-mail asynchrone se termine
Remarques
Tableau ci-dessous La classe présentée dans est utilisée pour créer des e-mails pouvant être envoyés à l'aide de SmtpClient.
Classe de pièce jointe
représente une pièce jointe. Cette classe vous permet de joindre un fichier, un flux ou un texte à un e-mail
Classe MailAddress
. représente un expéditeur et l'adresse email du destinataire
Classe MailMessage
Représente un email
Pour construire et envoyer un email à l'aide de SmtpClient, vous devez spécifier les informations suivantes :
Serveur hôte SMTP pour l'envoi d'e-mails.
Pour l'authentification, si le serveur SMTP nécessite des informations d'identification.
Adresse e-mail de l'expéditeur.
Adresse email ou adresse du destinataire.
Contenu du message.
Pour inclure une pièce jointe dans un e-mail, créez d'abord la pièce jointe à l'aide de la classe Attachment, puis ajoutez-la au message via la propriété MailMessage.Attachments. En fonction du lecteur de courrier électronique utilisé et du type de fichier de la pièce jointe, certains destinataires peuvent ne pas pouvoir lire la pièce jointe. Pour les clients qui ne peuvent pas conserver les pièces jointes affichées dans leur format d'origine, vous pouvez spécifier une autre vue en spécifiant la propriété MailMessage.AlternateViews.
Vous pouvez utiliser le fichier de configuration de l'application ou de l'ordinateur pour spécifier les valeurs par défaut de l'hôte, du port et des informations d'identification pour tous les objets SmtpClient.
Pour envoyer des e-mails et des morceaux en attendant que l'e-mail soit transféré vers le serveur SMTP, utilisez une méthode d'envoi synchrone. Pour permettre au thread principal du programme de continuer à s'exécuter pendant la transmission des e-mails, utilisez l'une des méthodes asynchrones SendAsync. L'événement SendCompleted est déclenché lorsque l'opération SendAsync est terminée. Pour recevoir cet événement, vous devez ajouter un délégué SendCompletedEventHandler à SendCompleted. Méthode de rappel à laquelle le délégué SendCompletedEventHandler doit faire référence pour gérer l'événement SendCompleted de la notification. Pour annuler la transmission asynchrone d'e-mails, utilisez la méthode SendAsyncCancel.
Le code principal de l'interface d'envoi d'e-mails :
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text;using System.Windows.Forms; using System.IO;using System.Net;using System.Net.Mail; namespace SendEmail{ public partial class Form3 : Form{ string severaddress;string mailuser;string userpwd;public Form3(){ InitializeComponent(); } private void button1_Click(object sender, EventArgs e){ Form6 form = new Form6(); form.SendParaHandler +=new Form6.SendPara(reload); //事件的挂接form.Show(); } public void reload(){ StreamReader read = new StreamReader(@"fajianren.asdf"); severaddress = read.ReadLine(); mailuser = read.ReadLine(); userpwd = read.ReadLine(); read.Close();} private void Form3_Load(object sender, EventArgs e){ reload();} public bool sendmail(string mailfrom,string mailto,string mailsubject,string mailbody){ MailAddress from = new MailAddress(mailfrom); MailMessage message = new MailMessage(); try{message.From = from; message.To.Add(mailto); message.Subject = mailsubject; message.Body = mailbody; message.Priority = MailPriority.Normal; SmtpClient smtp = new SmtpClient(); smtp.Host = severaddress; smtp.UseDefaultCredentials = false; smtp.EnableSsl = true; smtp.Credentials = new NetworkCredential(mailuser,userpwd); smtp.DeliveryMethod = SmtpDeliveryMethod.Network; smtp.Send(message); } catch(Exception e){ return false; } return true; } private void button2_Click(object sender, EventArgs e){ string mailfrom = mailuser; string mailto = textBox1.Text; string mailsubject = textBox2.Text; string mailbody = textBox3.Text; if (sendmail(mailfrom, mailto, mailsubject, mailbody)){ MessageBox.Show("邮件发送成功"); } else{ MessageBox.Show("邮件发送失败"); } } } }
Le code principal de configuration de l'interface d'informations sur l'expéditeur :
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; namespace SendEmail { public partial class Form 6 : Form {public Form6(){InitializeComponent(); } private void button1_Click(object sender, EventArgs e){ Write(); } //加载信息 private void Form6_Load(object sender, EventArgs e){ StreamReader read = new StreamReader(@"fajianren.asdf"); textBox1.Text = read.ReadLine(); textBox2.Text = read.ReadLine(); textBox3.Text = read.ReadLine(); read.Close(); } //写入信息 public void Write(){ StreamWriter write = new StreamWriter(@"fajianren.asdf"); write.WriteLine(textBox1.Text); write.WriteLine(textBox2.Text); write.WriteLine(textBox3.Text); write.Close(); } public delegate void SendPara(); //定义委托 public event SendPara SendParaHandler; //定义事件 private void button2_Click(object sender, EventArgs e){ SendParaHandler.Invoke(); Write(); this.Close(); } } }
Ce qui précède est le contenu du Classe SmtpClient en C#, et plus Pour plus de contenu connexe, veuillez prêter attention au site Web PHP chinois (m.sbmmt.com) !