Maison  >  Article  >  développement back-end  >  Classe SmtpClient supplémentaire C#

Classe SmtpClient supplémentaire C#

黄舟
黄舟original
2017-02-06 17:23:541913parcourir

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 (www.php.cn) !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Réflexion C# RéflexionArticle suivant:Réflexion C# Réflexion