1. Verwenden Sie die von outLook bereitgestellte Sendesoftware, z. B. die UFIDA-Software U8 Manufacturing (Demoversion), bei der die E-Mail-Funktion durch Aufrufen der ActiveX-Komponente von outLook gesendet wird. Vorteile: Einfache Entwicklung Outlook-Komponente, SMTP-Mail-Dienst
zum Senden von E-Mails. Der Code lautet wie folgt:
Private Sub Send().
Dim outObj As New Outlook.Application()
Element als Outlook.MailItemClass dimmen
Item = outObj.CreateItem(0)
Item.To = "
[email protected] "
Item.Subject = "Hallo"
Item.Body = „Hölle“
Item.Attachments.Add("C:abc.txt")
Item.Send()
End Sub-
2. WEB-Entwicklung, siehe System.Web.Mail in ASP.NET Art
Der System.Web.Mail-Namespace enthält Klassen, die es Ihnen ermöglichen, Nachrichten mithilfe der CDOSYS-Nachrichtenkomponente (Collaboration Data Objects für Windows 2000) zu erstellen und zu senden. E-Mail-Nachrichten werden über den in Microsoft Windows 2000 integrierten SMTP-Maildienst oder über einen beliebigen SMTP-Server zugestellt. Klassen in diesem Namespace können in ASP.NET oder jeder verwalteten Anwendung verwendet werden
MailAttachment bietet Eigenschaften und Methoden zum Erstellen von E-Mail-Anhängen.
MailMessage bietet Eigenschaften und Methoden zum Erstellen von E-Mail-Nachrichten.
SmtpMail stellt Eigenschaften und Methoden zum Senden von Nachrichten mithilfe der CDOSYS-Nachrichtenkomponente (Collaboration Data Objects) von Windows 2000 bereit.
E-Mails können über den in Microsoft Windows 2000 integrierten SMTP-Maildienst oder über einen beliebigen SMTP-Server zugestellt werden. Typen im System.Web.Mail-Namespace können in ASP.NET oder jeder verwalteten Anwendung verwendet werden.
Einige kostenlose E-Mail-Anbieter bieten jetzt keine SMTP-Dienste mehr für alle E-Mails an. Beim Versenden von E-Mails müssen Benutzerinformationen überprüft werden. Wenn sich der SMTP-Server auf dem lokalen Computer befindet, wird dies der Fall sein Seien Sie grundsätzlich nicht beunruhigt. Wenn es sich nicht um einen lokalen Server handelt, ist es am besten, ihn nicht zu oft zu verwenden, und das andere ist, dass er zu viele E-Mails sendet Ich denke, es handelt sich um Spam und der Denial-of-Service-Code lautet wie folgt:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Behandelt Button1.Click
Dimmen Sie mailObj als neues MailMessage()
Dimmen Sie SMTP als SmtpMail
'Definieren Sie den Namen des SMTP-Servers
smtp.SmtpServer = "smtp.XXX.com"
'Definieren Sie die E-Mail-Versandadresse
mailObj.From = "
[email protected] "
'Definieren Sie die E-Mail-Empfangsadresse
mailObj.To = "
[email protected] "
'Definieren Sie die BCC-Adresse der E-Mail
mailObj.Bcc= "
[email protected] "
'Definieren Sie die Kopieadresse der E-Mail
mailObj.Cc = "
[email protected] "
„Definieren Sie den Betreff der E-Mail.“
mailObj.Subject = "Betreff"
„Definieren Sie den Text der E-Mail.“
mailObj.Body = "Mail-Text!"
„Die E-Mail wird im HTML-Format gesendet
mailObj.BodyFormat = MailFormat.Html
„Definieren Sie die begrenzte E-Mail-Stufe und stellen Sie sie hier auf hoch ein.“
mailObj.Priority = MailPriority.High
„Fügen Sie der gesendeten E-Mail einen Anhang hinzu
mailObj.Attachments.Add(New MailAttachment("c:aa.doc"))
smTp.Send(mailObj)
End Sub
3. Verwenden Sie System.Net.Sockets bei der Entwicklung von Windows-Anwendungen in VB.NET oder C#
Es basiert auch auf dem SMTP-Protokoll 1. Einführung in das SMTP-Protokoll
1. Der Client stellt über Port 25 des Servers eine TCP/IP-Verbindung zum Server her: 220 server.com Simple Mail Transfer Service Ready
2. Der Client verwendet den Befehl „HELO“, um den Absender-Client zu identifizieren: HELO server.com
Serverseite: 250 server.com
3. Der Client sendet einen MAIL-Befehl und der Server antwortet mit OK, um anzuzeigen, dass er bereit ist, den Client zu empfangen: MAIL FROM: <
[email protected] >
Serverseitig: 250 OK
4. Der Client sendet den RCPT-Befehl, um den Empfänger zu identifizieren, und der Server antwortet, ob er bereit ist, den E-Mail-Client für den Empfänger zu akzeptieren: RCPT TO: <
[email protected] >
Serverseitig: 250 OK
5. Nachdem die Verhandlung abgeschlossen ist, verwenden Sie den Befehl DATA, um dem E-Mail-Client Folgendes zu senden: DATA
Serverseitig: 354 Mail-Eingabe starten: Ende mit <CRLF>.<CRLF>
6. Der Client beendet den Eingabeinhalt mit und sendet ihn an den Client: Betreff: <CRLF>
Inhalt<CRLF>
.<CRLF>
7. Der Client wird mit dem Befehl QUIT beendet.
Kunde: BEENDEN
Serverseitig: 250 server.com-Übertragungskanal
Vorteile: Auf dieser Basis können wir eigene Komponenten entwickeln. Nachteile: Der Programmumfang
ist relativ groß. Der Code zum Versenden von E-Mails ist wie folgt.
Dimmen Sie sendData als String
szData als Byte() dimmen
Dimmen Sie CRLF als String
CRLF = "rn"
'Erstellen Sie eine Verbindung zum Server-Port 25
Dimmen Sie SmtpServ als neuen TcpClient(txtsmtp.Text, 25)
lstlog.Items.Clear()
'Startinformationen des Servers anzeigen
Dimmen Sie NetStrm als NetworkStream
NetStrm = SmtpServ.GetStream()
Dim RdStrm As New StreamReader(SmtpServ.GetStream())
Wenn RdStrm.ReadLine() <> "" Dann lstlog.Items.Add(RdStrm.ReadLine())
'
sendData = „HELO server“ + CRLF
szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
lstlog.Items.Add(RdStrm.ReadLine())
'Absender markieren
sendData = „MAIL FROM:“ + „<“ + txtfrom.Text + „>“ + CRLF
szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
lstlog.Items.Add(RdStrm.ReadLine())
'Empfänger markieren
sendData = "RCPT TO: " + "<" + txtTo.Text + ">" + CRLF
szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
lstlog.Items.Add(RdStrm.ReadLine())
'Bereiten Sie das Senden von Inhalten vor
sendData = "DATA " + CRLF
szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
lstlog.Items.Add(RdStrm.ReadLine())
'Thema senden
sendData = "SUBJECT: " + txtsub.Text + CRLF
„Inhalt senden.“
sendData = sendData + txtmsg.Text + CRLF
'Senden beenden
sendData = sendData + "." + CRLF
szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
lstlog.Items.Add(RdStrm.ReadLine())
'Beenden
sendData = „QUIT“ + CRLF
szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
lstlog.Items.Add(RdStrm.ReadLine())
'Verbindung schließen
NetStrm.Close()
RdStrm.Close()
lstlog.Items.Add("Verbindung geschlossen")
lstlog.Items.Add("Erfolgreich gesendet")
Sie können sich auch auf Folgendes beziehen: Verwenden von C# zum Erstellen einer E-Mail-Versandkomponente (SMTP)
http://www.aspcool.com/lanmu/browse1.asp?ID=968&bbsuser=csharp 4. CDONTS, die grundlegende Sendekomponente, die mit IIS SMTP geliefert wird
Sie müssen es nicht speziell herunterladen. Microsoft hat diese Komponente bereits bereitgestellt, solange NT 2000 installiert ist.
Vorteile: Die Komponenten werden
vom Betriebssystem bereitgestellt. Nachteile: Schlechte Funktionalität und schlechte Skalierbarkeit.
Mymail.From = *** 'Postfach des Absenders des Briefes
Mymail.To = *** 'Postfach des Empfängers des Briefes
Mymail.CC = *** 'Cc
Mymail.BCC = *** 'Senden binden
Mymail.Subject = *** 'Betreff des Briefes
Mymail.Body = *** 'Text des Briefes
„Legen Sie die Priorität fest: 0 – nicht wichtig, 1 – allgemein, 2 – wichtig.
Mymail.Importance = 2
Mymail.Send()
Mymail = Nothing
5. Verwenden Sie die JMail-Komponente
Jmail hat die folgenden Eigenschaften:
(1) Anhänge können versendet werden;
(2) Mit der detaillierten Protokollfunktion können Sie das Problem überprüfen.
(3) Legen Sie die Priorität des E-Mail-Versands fest.
(4) Unterstützt das Senden von E-Mails in mehreren Formaten, z. B. das Senden von E-Mails in HTML oder TXT. Dies ist eine kostenlose Komponente.
(5) Die Möglichkeit, Blind-E-Mails/(CC-)Durchschläge/Dringungsbriefe zu versenden;
(6) Das Wichtigste ist – die Komponenten sind kostenlos und Sie müssen nicht dafür bezahlen, daher lohnt sich ihre Nutzung sehr.
Website:
http://www.dimac.net/ , die aktuelle Version ist 4.3.
Gemeinsame Attribute von JMail-Komponenten:
Text E-Mail-Text
Protokollierung von Anrufen Protokollaufzeichnung für Debugzwecke
Priorität Die Priorität der E-Mail, von 1 bis 5
Absender Absender
ServerAddress IP-Adresse oder Name des SMTP-Servers
Gängige Methoden der
JMail-Komponente „ Betreff-E-Mail-Titel“
:
AddAttachment gibt die Anhangdatei an
AddRecipient fügt einen Empfänger hinzu
AddRecipientBCC Versteckte Kopie, nur dem Absender und den BCC-Empfängern bekannt.
AddRecipientCC CC
Nachdem Execute die E-Mail gesendet
und die erforderlichen Attribute und Methoden verstanden hat, empfängt der verbleibende Teil die vom Benutzer eingegebene E-Mail und übergibt sie als Parameter an die AddRecipient-Methode, füllt dann die verbleibenden Attribute nach Bedarf aus und sendet sie schließlich mit Execute Verfahren. Beispiel:
JMail dimmen
JMail = Server.CreateObject("JMail.SMTPMail")
JMail.Logging = True
JMail.ServerAddress = "202.96.144.48"
JMail.Sender = "
[email protected] "
JMail.Subject = „Betreff.“
JMail.Body = „body.“
JMail.AddRecipient("
[email protected] ")
JMail.AddAttachment("c:go.gif")
JMail.Priority = 3
JMail.Execute()
JMail = Nothing
Zusammenfassung: Welche Lösung Sie wählen sollten, hängt vom Zweck und den Anforderungen des Programms ab. Dieser Artikel enthält mehrere Beispiele als Referenz. Beispielsweise ruft die UFIDA-Software U8 die Outlook-Komponente auf und integriert sie in die eigene Software. Das von mir geschriebene Verwaltungssystem, ich habe meine eigenen Komponenten (SMTP) geschrieben, ist genauso leistungsstark, aber die Codierungszeit ist länger!