1. Utilisez le logiciel d'envoi fourni par Outlook, comme le logiciel UFIDA U8 Manufacturing (version démo) que j'ai vu, dans lequel la fonction email est envoyée en appelant le composant ActiveX d'OutLook. Avantages : Développement simple. composant Outlook, service de messagerie SMTP
pour envoyer des emails Le code est le suivant :
Private Sub Send().
Atténuer outObj en tant que nouveau Outlook.Application()
Atténuer l'élément en tant que Outlook.MailItemClass
Article = outObj.CreateItem(0)
Article.À = "
[email protected] "
Item.Subject = "bonjour"
Item.Body = "l'enfer"
Item.Attachments.Add("C:abc.txt")
Article.Envoyer()
End Sub
2. Développement WEB, reportez-vous à System.Web.Mail dans ASP.NET gentil
L'espace de noms System.Web.Mail contient des classes qui vous permettent de créer et d'envoyer des messages à l'aide du composant de message CDOSYS (Collaboration Data Objects pour Windows 2000). Les messages électroniques sont transmis via le service de messagerie SMTP intégré à Microsoft Windows 2000 ou via n'importe quel serveur SMTP. Les classes de cet espace de noms peuvent être utilisées dans ASP.NET ou dans toute application gérée
MailAttachment fournit des propriétés et des méthodes pour créer des pièces jointes aux e-mails.
MailMessage fournit des propriétés et des méthodes pour créer des messages électroniques.
SmtpMail fournit des propriétés et des méthodes pour envoyer des messages à l'aide du composant de message Collaboration Data Objects (CDOSYS) de Windows 2000.
Le courrier peut être envoyé via le service de messagerie SMTP intégré à Microsoft Windows 2000 ou via n'importe quel serveur SMTP. Les types de l’espace de noms System.Web.Mail peuvent être utilisés dans ASP.NET ou dans n’importe quelle application gérée.
Paramètres du serveur Smtp. Désormais, certains fournisseurs de messagerie gratuits ne fournissent plus de services Smtp pour tous les e-mails. Lors de l'envoi d'e-mails, les informations utilisateur doivent être vérifiées. Si le serveur Smtp se trouve sur l'ordinateur local, la vitesse d'envoi sera modifiée. être très rapide, ne vous inquiétez pas. S'il ne s'agit pas d'un serveur local, il est préférable de ne pas trop l'utiliser lors de l'envoi. L'un est le problème de vitesse, et l'autre peut envoyer trop d'e-mails. pense qu'il s'agit de spam et le code de déni de service est le suivant :
Sous-bouton privé Button1_Click (expéditeur ByVal en tant que System.Object, ByVal et en tant que System.EventArgs) gère Button1.Click
Dim mailObj comme nouveau MailMessage()
Dim smtp comme SmtpMail
'Définir le nom du serveur SMTP
smtp.SmtpServer = "smtp.XXX.com"
'Définir l'adresse d'envoi de l'email
mailObj.From = "
[email protected] "
'Définir l'adresse de réception email
mailObj.To = "
[email protected] "
'Définir l'adresse BCC de l'email
mailObj.Bcc= "
[email protected] "
'Définir l'adresse en copie carbone de l'email
mailObj.Cc = "
[email protected] "
'Définir le sujet de l'email
mailObj.Sujet = "Sujet"
'Définir le corps de l'email
mailObj.Body = "Corps du courrier !"
'L'email est envoyé au format HTML
mailObj.BodyFormat = MailFormat.Html
'Définissez le niveau limité de courrier, réglez-le sur élevé ici
mailObj.Priority = MailPriority.High
'Joindre une pièce jointe à l'e-mail envoyé
mailObj.Attachments.Add(New MailAttachment("c:aa.doc"))
smTp.Send(mailObj)
End Sub
3. Utilisez System.Net.Sockets pour développer des applications Windows en VB.NET ou C#
Il est également basé sur le protocole SMTP 1. Introduction au protocole SMTP
1. Le client établit une connexion TCP/IP avec le serveur via le port 25 du serveur : 220 server.com Simple Mail Transfer Service Ready
2. Le client utilise la commande "HELO" pour identifier le client expéditeur : HELO server.com
Côté serveur : 250 server.com
3. Le client envoie une commande MAIL et le serveur répond par OK pour indiquer qu'il est prêt à recevoir le client : MAIL FROM : <
[email protected] >
Côté serveur : 250 OK
4. Le client envoie la commande RCPT pour identifier le destinataire, et le serveur répond s'il est prêt à accepter le client de messagerie pour le destinataire : RCPT TO : <
[email protected] >
Côté serveur : 250 OK
5. Une fois la négociation terminée, utilisez la commande DATA pour envoyer au client de messagerie : DATA
Côté serveur : 354 Début de la saisie du mail : terminer par <CRLF>.<CRLF>
6. Le client termine le contenu d'entrée par . et l'envoie au client : Objet : <CRLF>.
Contenu<CRLF>
.<CRLF>
7. Le client se ferme à l'aide de la commande QUIT.
Client : QUITTER
Côté serveur : canal de transmission de fermeture 250 server.com
Avantages : Vous pouvez développer vos propres composants sur cette base En utilisant des Sockets, nous pouvons développer une programmation réseau. Inconvénients : La quantité
de programme est relativement importante pour l'envoi d'e-mails.
Dim sendData sous forme de chaîne
Dim szData As Byte()
Dim CRLF comme chaîne
CRLF = "rn"
'Créer une connexion au port 25 du serveur
Dim SmtpServ en tant que nouveau TcpClient (txtsmtp.Text, 25)
lstlog.Items.Clear()
'Afficher les informations initiales du serveur
Atténuer NetStrm en tant que NetworkStream
NetStrm = SmtpServ.GetStream()
Dim RdStrm en tant que nouveau StreamReader(SmtpServ.GetStream())
Si RdStrm.ReadLine() <> "" Alors lstlog.Items.Add(RdStrm.ReadLine())
'
sendData = "Serveur HELO" + CRLF
szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
lstlog.Items.Add(RdStrm.ReadLine())
'Marquer l'expéditeur
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())
'Marquer le destinataire
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())
'Préparez-vous à envoyer du contenu
envoyerDonnées = "DONNÉES" + CRLF
szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
lstlog.Items.Add(RdStrm.ReadLine())
'Envoyer le sujet
sendData = "SUJET : " + txtsub.Text + CRLF
'Envoyer du contenu
sendData = sendData + txtmsg.Text + CRLF
'Fin de l'envoi
envoyerDonnées = envoyerDonnées + "." + CRLF
szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
lstlog.Items.Add(RdStrm.ReadLine())
'Quitter
sendData = "QUITTER" + CRLF
szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
lstlog.Items.Add(RdStrm.ReadLine())
'Fermer la connexion
NetStrm.Close()
RdStrm.Close()
lstlog.Items.Add("Connexion fermée")
lstlog.Items.Add("Envoyé avec succès")
Vous pouvez également consulter : Utilisation de C# pour créer un composant d'envoi d'e-mails (SMTP)
http://www.aspcool.com/lanmu/browse1.asp?ID=968&bbsuser=csharp 4. CDONTS, le composant d'envoi de base fourni avec IIS SMTP
Vous n'avez pas besoin de le télécharger spécifiquement. Microsoft a déjà fourni ce composant. Tant que 2000 est installé, le SMTP de NT l'aura.
Avantages : Les composants sont fournis par le système d'exploitation. Inconvénients : Mauvaise fonctionnalité et mauvaise évolutivité
Mymail = CreateObject("CDONTS.NewMail").
Mymail.From = *** 'Boîte aux lettres de l'expéditeur de la lettre
Mymail.To = *** 'Boîte aux lettres du destinataire de la lettre
Monmail.CC = *** 'Cc
Mymail.BCC = *** 'Envoyer lié
Mymail.Subject = *** 'Objet de la lettre
Mymail.Body = *** 'Corps de la lettre
'Définissez la priorité, 0-pas important, 1-général, 2-important.
Monmail.Importance = 2
Monmail.Envoyer()
Mymail = Rien
5. Utiliser le composant JMail
Jmail a les caractéristiques suivantes :
(1) Des pièces jointes peuvent être envoyées ;
(2) La capacité de journalisation détaillée vous permet de vérifier le problème ;
(3) Définir la priorité d'envoi des e-mails ;
(4) Prend en charge l'envoi d'e-mails dans plusieurs formats, tels que l'envoi d'e-mails au format HTML ou TXT. Il s'agit d'un composant gratuit.
(5) La possibilité d'envoyer des e-mails aveugles/des copies carbone (CC)/des lettres urgentes ;
(6) La chose la plus importante est que les composants sont gratuits et que vous n’avez pas à payer pour les obtenir, ils valent donc la peine d’être utilisés.
Site Web :
http://www.dimac.net/ , la version actuelle est la 4.3.
Attributs communs des composants JMail :
Corps Corps de l'e-mail
Journalisation des appels Enregistrement du journal pour une utilisation en débogage
Priorité La priorité de l'email, de 1 à 5
Expéditeur expéditeur
ServerAddress Adresse IP ou nom du serveur SMTP
Méthodes courantes du
composant JMail du titre de l'e-mail du sujet
:
AddAttachment spécifie le fichier joint
AddRecipient ajoute un destinataire
AddRecipientBCC Copie cachée, connue uniquement de l'expéditeur et des destinataires BCC.
AddRecipientCC CC
Une fois qu'Execute a envoyé l'e-mail
et compris les attributs et méthodes nécessaires, la partie restante reçoit l'e-mail saisi par l'utilisateur et le transmet en tant que paramètre à la méthode AddRecipient, puis remplit les attributs restants selon les besoins et enfin l'envoie avec Execute. méthode. Par exemple :
Dim JMail
JMail = Serveur.CreateObject("JMail.SMTPMail")
JMail.Logging = Vrai
JMail.ServerAddress = "202.96.144.48"
JMail.Sender = "
[email protected] "
JMail.Sujet = "sujet."
JMail.Body = "corps."
JMail.AddRecipient("
[email protected] ")
JMail.AddAttachment("c:go.gif")
JMail.Priorité = 3
JMail.Execute()
JMail = Nothing
résumé : La solution à choisir dépend de l'objectif et des besoins du programme. Cet article fournit plusieurs exemples pour votre référence. Par exemple, le logiciel UFIDA U8 appelle le composant Outlook et l'intègre dans son propre logiciel. Le système de gestion que j'ai écrit, j'ai écrit mes propres composants (SMTP), est tout aussi puissant, mais le temps de codage est plus long !