Heim > Backend-Entwicklung > C#.Net-Tutorial > C#-ergänzende SmtpClient-Klasse

C#-ergänzende SmtpClient-Klasse

黄舟
Freigeben: 2017-02-06 17:23:54
Original
1972 Leute haben es durchsucht

Die SmtpClient-Klasse

ermöglicht Anwendungen das Senden von E-Mails mithilfe des Simple Mail Transfer Protocol (SMTP).

Namespace: system.net.mail

Attribute

ClientCertificates: Gibt an, welches Zertifikat zum Herstellen einer Secure Sockets Layer (SSL)-Verbindung verwendet werden soll

Anmeldeinformationen: Ruft die Anmeldeinformationen ab, die zur Authentifizierung des Absenders verwendet werden, oder legt diese fest.

DeliveryFormat: Ruft das von SmtpClient zum Senden von E-Mails verwendete Zustellungsformat ab oder legt diese fest.

DeliveryMethod: Gibt an, wie E-Mails gesendet werden. Mail verarbeitet die Nachricht

EnableSsl: Gibt an, ob SmtpClient SSL-verschlüsselte Verbindungen (Secure Sockets Layer) verwendet

Host: Ruft die IP des Hosts ab, der zum Aufzeichnen einer oder mehrerer SMTP-Transaktionsadressen verwendet wird, oder legt diese fest

PickupDirectoryLocation: Ruft den Ordner ab, in dem die Anwendung E-Mails zur Verarbeitung durch den lokalen SMTP-Server speichert, oder legt diesen fest.

Port: Ruft den für SMTP-Transaktionen verwendeten Port ab oder legt diesen fest.

ServicePoint: Ruft die Netzwerkverbindung ab wird zum Übertragen von E-Mails verwendet

TargetName: Ruft den Dienstanbieternamen (SPN) ab oder legt diesen fest, wenn erweiterter Schutz für die Authentifizierung verwendet wird

Timeout: Ruft einen Wert ab oder legt diesen fest, der den Timeout für Sendeaufrufe angibt

UseDefaultCredentials: Ruft einen booleschen Wert ab oder legt diesen fest, der steuert, ob DefaultCredentials mit der Anfrage gesendet werden

Methode

Dispose()

Eine QUIT-Nachricht an das SMTP senden Server, beenden Sie die TCP-Verbindung normal und geben Sie alle von der aktuellen Instanz verwendeten Ressourcen der SmtpClient-Klasse frei

Dispose(Boolean)

Senden Sie eine QUIT-Nachricht, wenn sie an den SMTP-Server und das TCP gesendet wird Die Verbindung wird normal beendet, alle von der aktuellen Instanz verwendeten Ressourcen der SmtpClient-Klasse werden freigegeben und verwaltete Ressourcen können nach Bedarf freigegeben werden

Equals(Object)

Bestimmen Sie das angegebene Objekt Ob es so ist gleich dem aktuellen Objekt

Finalize()

Ermöglichen Sie einem Objekt, zu versuchen, Ressourcen freizugeben und andere Bereinigungsvorgänge durchzuführen, bevor der Garbage-Collection-Mechanismus es wiederverwendet

GetHashCode()

Als Standard-Hash-Funktion

GetType()

Den Typ der aktuellen Instanz abrufen

MemberwiseClone()

Erstellen Sie die aktuelle Objekt-Shallow-Kopie

OnSendCompleted(AsyncCompletedEventArgs)

Löst das SendComplete-Ereignis aus

Send(MailMessage)

Sendet die angegebene Nachricht zur Zustellung an den SMTP-Server

Send(String, String, String, String)

Sendet die angegebene E-Mail zur Zustellung an den SMTP-Server. SendAsync(MailMessage, Object)

verwendet das angegebene String-Objekt

, um die angegebene E-Mail zur Zustellung an den SMTP-Server zu senden. Diese Methode blockiert den aufrufenden Thread nicht und ermöglicht dem Aufrufer, das Objekt an die Methode zu übergeben, die aufgerufen wird, wenn der Vorgang abgeschlossen ist

SendAsync(String, String, String, String, Object)

sendet eine E-Mail. Die E-Mail wird zur Zustellung an den SMTP-Server gesendet. Der E-Mail-Absender, die Empfänger, der Betreff und der Nachrichtentext werden mithilfe von String-Objekten angegeben. Diese Methode blockiert den aufrufenden Thread nicht und ermöglicht dem Aufrufer, das Objekt an die Methode zu übergeben, die aufgerufen wird, wenn der Vorgang abgeschlossen ist.

SendAsyncCancel()

Bricht einen asynchronen Vorgang zum Senden einer E-Mail ab.

SendMailAsync(MailMessage)

Sendet die angegebene Nachricht für einen asynchronen Vorgang an den SMTP-Server Vorgang im Formular übermittelt.

SendMailAsync(String, String, String, String)

Sendet die angegebene Nachricht an den SMTP-Server zur Zustellung als asynchrone Operation. . Der E-Mail-Absender, die Empfänger, der Betreff und der Nachrichtentext werden mithilfe von String-Objekten angegeben.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)

Ereignis

SendCompleted

Tritt auf, wenn ein asynchroner E-Mail-Sendevorgang abgeschlossen wird

Bemerkungen

Tabelle unten Die in gezeigte Klasse wird zum Erstellen von E-Mails verwendet, die mit dem SmtpClient gesendet werden können.

Attachment-Klasse

stellt einen Dateianhang dar. Mit dieser Klasse können Sie eine Datei, einen Stream oder einen Text an eine E-Mail anhängen Stellt einen Absender dar. Personen- und Empfänger-E-Mail-Adresse

MailMessage-Klasse

Stellt eine E-Mail dar

Um eine E-Mail mit SmtpClient zu erstellen und zu senden, müssen Sie die folgenden Informationen angeben:

SMTP-Hostserver zum Versenden von E-Mails.

Zur Authentifizierung, wenn der SMTP-Server Anmeldeinformationen erfordert.

E-Mail-Adresse des Absenders.

E-Mail-Adresse oder Adresse des Empfängers.

Nachrichteninhalt.

Um einen Anhang in eine E-Mail aufzunehmen, erstellen Sie zunächst den Anhang mithilfe der Attachment-Klasse und fügen Sie ihn dann über die MailMessage.Attachments-Eigenschaft zur Nachricht hinzu. Abhängig vom verwendeten E-Mail-Reader und dem Dateityp des Anhangs können einige Empfänger den Anhang möglicherweise nicht lesen. Für Clients, die Anhänge nicht in ihrem Originalformat anzeigen können, können Sie eine alternative Ansicht angeben, indem Sie die MailMessage.AlternateViews-Eigenschaft angeben.

Sie können die Anwendungs- oder Computerkonfigurationsdatei verwenden, um Standardwerte für Host, Port und Anmeldeinformationen für alle SmtpClient-Objekte anzugeben.

Um E-Mails und Blöcke zu senden, während Sie auf die Übertragung der E-Mail an den SMTP-Server warten, verwenden Sie eine synchrone Sendemethode. Damit der Hauptthread des Programms während der E-Mail-Übertragung weiter ausgeführt werden kann, verwenden Sie eine der asynchronen SendAsync-Methoden. Das SendCompleted-Ereignis wird ausgelöst, wenn der SendAsync-Vorgang abgeschlossen ist. Um dieses Ereignis zu empfangen, müssen Sie SendCompleted einen SendCompletedEventHandler-Delegaten hinzufügen. Die Rückrufmethode, auf die der SendCompletedEventHandler-Delegat verweisen muss, um das SendCompleted-Ereignis der Benachrichtigung zu verarbeiten. Um die asynchrone E-Mail-Übertragung abzubrechen, verwenden Sie die SendAsyncCancel-Methode.

Der Hauptcode für die E-Mail-Sendeschnittstelle:

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("邮件发送失败");
}
}
}
}
Nach dem Login kopieren

Der Hauptcode zum Festlegen der Absenderinformationsschnittstelle:

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();
}
}
}
Nach dem Login kopieren

Das Obige ist der Inhalt der SmtpClient-Klasse in C# und mehr Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage