-
mit System.Web.Mail;
private void Button1_Click(object sender, System.EventArgs e)
{
//Instanziieren Sie das MailMessage-Objekt
System.Web.Mail.MailMessage mail=new System.Web.Mail.MailMessage();
//Definieren Sie die Absenderadresse der E-Mail. Sie können eine nicht vorhandene Adresse eingeben. So wird Spam gemacht
mail.From=" [email protected] ";
//Definieren Sie die E-Mail-Empfangsadresse
//Legen Sie eine durch Semikolons getrennte Liste der E-Mail-Adressen der Empfänger fest
mail.To=" [email protected] ";
//Definieren Sie die BCC-Adresse der E-Mail
//Legen Sie eine durch Semikolons getrennte Liste von E-Mail-Adressen fest
//mail.Bcc=" [email protected] ";
//Definieren Sie die Kopieadresse der E-Mail
//Legen Sie eine durch Semikolons getrennte Liste von E-Mail-Adressen fest
//mail.Cc=" [email protected];[email protected]
//Definieren Sie den Betreff der E-Mail
mail.Subject="widebright mail test asp.net send mail learning";
//Legen Sie den Inhaltstyp des E-Mail-Texts fest
//Hier senden wir es im HTML-Format
mail.BodyFormat=System.Web.Mail.MailFormat.Html;
//Legen Sie den Text der E-Mail fest
mail.Body="Testen Sie es und sehen Sie, ob es funktioniert";
//In @ eingeschlossene Zeichenfolgen beginnen mit @ und werden außerdem in doppelte Anführungszeichen gesetzt. Zum Beispiel:
//Der Vorteil der Anführungszeichen @ besteht darin, dass die Escape-Sequenz nicht verarbeitet wird, sodass Sie problemlos eine Zeichenfolge schreiben können, z. B. einen vollständig qualifizierten Dateinamen:
//@"c:DocsSourcea.txt " // statt "c:\Docs\Source\a.txt"
//Um ein doppeltes Anführungszeichen in eine Zeichenfolge mit @-Anführungszeichen einzufügen, verwenden Sie zwei Paare doppelter Anführungszeichen:
// „Ahoi!“ schrie der Kapitän.“ // „Ahoi!“ rief der Kapitän.
// Das @-Symbol kann auch mit dem referenzierten Bezeichner (/reference) verwendet werden, der zufällig ein C#-Schlüsselwort ist.
// http://msdn2.microsoft.com/zh-CN/library/362314fe(VS.80).aspx
//Anhang festlegen
System.Web.Mail.MailAttachment mailAttachment=new System.Web.Mail.MailAttachment(@" F:dddddd.txt");
//Anhang an die E-Mail anhängen
mail.Attachments.Add(mailAttachment);
//Fügen Sie hier weiterhin mehrere Anhänge hinzu
mailAttachment=new System.Web.Mail.MailAttachment(@"F:asp_net Send Mail Code_Baidu Know.mht");
mail.Attachments.Add(mailAttachment);
//SMTP-Server, da er auf diesem Computer eingerichtet ist, schreiben Sie also 127.0.0.1. Wenn Sie mit einem anderen Server wie 163 Mailbox verbunden sind, schreiben Sie smpt.163.com
System.Web.Mail.SmtpMail.SmtpServer="127.0.0.1";
//Es wird gesagt, dass viele SMTP-Server eine Authentifizierung erfordern, um Spam zu verhindern. Dies scheint das erweiterte SMTP-Protokoll oder so etwas zu sein.
//Aber was hier verbunden ist, ist ein eigener SMPT-Server, ein einfacher SMPT, daher gibt es keine Überprüfung.
// Ob beim Senden von E-Mails vom lokalen SMPT-Server an 163 oder andere Postfächer eine Überprüfung erforderlich ist, weiß ich nicht. Während des tatsächlichen Tests können E-Mails an gesendet werden
//@163.com , @eyou.com, @x.cn, es ist keine Überprüfung erforderlich.
//verifizieren
//mail.Fields.Add(" http://schemas.microsoft.com/cdo/configuration/smtpauthenticate ", "1");
//Anmeldename
//mail.Fields.Add(" http://schemas.microsoft.com/cdo/configuration/sendusername ", "widebright");
//Login-Passwort
//mail.Fields.Add(" http://schemas.microsoft.com/cdo/configuration/sendpassword ", "widebright");
//schicken
System.Web.Mail.SmtpMail.Send(mail);
}
Der obige Code verwendet die in .Net bereitgestellte System.Web.Mail.SmtpMail-Klasse, um E-Mails zu senden und automatisch eine Verbindung herzustellen
SMPT-Server zum Versenden von E-Mails. Manche Leute verwenden TCP-Klassen oder Sockets, um Code zur Implementierung des SMPT-Protokolls zu schreiben, aber das erfordert viel Codierung, Protokolle usw., was ziemlich mühsam ist. Ich habe eines gemacht, bevor ich VB verwendet habe. Das SMPT-Protokoll ist relativ einfach, aber die Kodierung dieser Anhänge erfordert viel Code.
Dies ist nur der Code zum Senden von SMTP-Nachrichten. Wenn Sie Nachrichten empfangen und warten möchten, müssen Sie über einen Pop3-Server verfügen, der das Pop3-Protokoll unterstützt.
Der SMTP-Server ist nach der Installation von IIS bereits installiert, daher ist die Installation möglicherweise etwas schwieriger. Ich habe es noch nicht ausprobiert.
SMTP-Serverkonfiguration
Ich habe es nach der Installation von IIS 5.1 selbst aktiviert. Ich habe es gerade im IIS Information Service Manager konfiguriert.
1. Fügen Sie unter „Domänen“ mehrere Domänennamen hinzu: Klicken Sie mit der rechten Maustaste auf „Domänen“ unter „Virtueller Standard-SMTP-Server“.
Wählen Sie „Neu“, um eine neue zu erstellen, ---> Domänentyp und wählen Sie „Remote“.
Der Domänenname wird in 163.com bzw. eyou.com x.cn eingetragen, da ich E-Mails an diese Server senden möchte, und dasselbe wie im obigen Code
===============
mail.To=" [email protected] ";
===============
Dementsprechend müssen Sie den entsprechenden Domänennamen festlegen, an wen Sie eine E-Mail senden möchten. Wenn Sie ihn nicht festlegen, kann die E-Mail nicht gesendet werden.
2. Klicken Sie mit der rechten Maustaste auf einen Domänennamen wie 163.com, wählen Sie „Eigenschaften“ und aktivieren Sie „Weiterleitung eingehender E-Mails an diese Domäne zulassen“. Die E-Mail kann nur nach Überprüfung versendet werden, andernfalls wird weiterhin ein Fehler angezeigt .
Wählen Sie für die Weiterleitungsdomäne unten einfach die Standardeinstellung „DNS zum Weiterleiten an die Domäne verwenden“ aus.
Der Schlüssel besteht darin, den entsprechenden SMTP-Server-Domänennamen in IIS festzulegen, und dann können Sie E-Mails senden. Ich habe mehrere Postfächer auf der asp.net-Seite getestet und sie können normal gesendet werden. Klicken Sie wie bei 163 Mailbox auf die Schaltfläche zum Senden, und Sie erhalten es.
Ich habe gerade herausgefunden, dass Sie es hinzufügen können
*.com
*.netto
*cn
Domainname, der mit den meisten E-Mail-Adressen übereinstimmt.
Wenn Sie den Domainnamen *.com hinzufügen, können Sie Briefe an @163.com und @eyou.com senden
Der Test wurde in der Windows XP+Visual Sutdio 2003+IIS5.1-Umgebung bestanden.
Ich habe jedoch nur festgestellt, dass die an den Sina-Postkasten gesendeten Briefe nicht angekommen sind, und ich weiß nicht, warum.
Typischer SMTP-Fehler 550 5 7 1 Weiterleitung nicht möglich
Darüber hinaus ist der Domänenname möglicherweise nicht richtig eingestellt
Das Kontrollkästchen „Computern, die sich erfolgreich authentifizieren, die Weiterleitung erlauben“ ist in den Einstellungen des virtuellen SMTP-Servers nicht aktiviert. Wie unten gezeigt,
Öffnen Sie zunächst die Seite „Zugriff“ der Eigenschaftenseite „SMTP Virtual Server“:
Klicken Sie dann auf die Schaltfläche „Relay“ und prüfen Sie, ob „Allen Computern, die sich erfolgreich authentifiziert haben, die Weiterleitung erlauben, unabhängig von der Liste oben“ ausgewählt ist: