-
en utilisant System.Web.Mail ;
private void Button1_Click (expéditeur d'objet, System.EventArgs e)
{
//Instancier l'objet MailMessage
System.Web.Mail.MailMessage mail=new System.Web.Mail.MailMessage();
//Définissez l'adresse d'envoi de l'email. Vous pouvez renseigner à volonté une adresse inexistante. C'est ainsi que l'on fait du spam ^_^.
mail.From=" [email protected] ";
//Définir l'adresse email de réception
//Définir une liste d'adresses e-mail de destinataires séparées par des points-virgules
mail.To=" [email protected] ";
//Définir l'adresse BCC de l'email
//Définit une liste d'adresses e-mail séparées par des points-virgules
//mail.Bcc=" [email protected] ";
//Définir l'adresse en copie carbone de l'email
//Définit une liste d'adresses e-mail séparées par des points-virgules
//mail.Cc=" [email protected];[email protected]
//Définir le sujet de l'email
mail.Subject="test de courrier Widebright asp.net envoyer un apprentissage par courrier";
//Définir le type de contenu du corps de l'e-mail
//Ici nous l'envoyons au format HTML
mail.BodyFormat=System.Web.Mail.MailFormat.Html;
//Définir le corps de l'e-mail
mail.Body="Testez-le et voyez si cela fonctionne";
//Les chaînes entourées de @ commencent par @ et sont également placées entre guillemets doubles. Par exemple:
// L'avantage de citer @ est que la séquence d'échappement n'est pas traitée, vous pouvez donc facilement écrire une chaîne, telle qu'un nom de fichier complet :
//@"c:DocsSourcea.txt " // plutôt que "c:\Docs\Source\a.txt"
//Pour inclure un guillemet double dans une chaîne entre guillemets @, utilisez deux paires de guillemets doubles :
// @"""Ahoy!"" cria le capitaine." // "Ahoy!" cria le capitaine.
// Une autre utilisation du symbole @ est avec l'identifiant référencé (/reference) qui se trouve être un mot-clé C#.
// http://msdn2.microsoft.com/zh-CN/library/362314fe(VS.80).aspx
//Définir une pièce jointe
System.Web.Mail.MailAttachment mailAttachment=new System.Web.Mail.MailAttachment (@" F:dddddd.txt");
//Joindre une pièce jointe à l'e-mail
mail.Attachments.Add(mailAttachment);
//Continuez à ajouter plusieurs pièces jointes ici
mailAttachment=new System.Web.Mail.MailAttachment (@"F:asp_net Send Mail Code_Baidu Know.mht");
mail.Attachments.Add(mailAttachment);
// Serveur SMTP, car il est configuré sur cette machine, écrivez donc 127.0.0.1. Si vous êtes connecté à un autre serveur, comme la boîte aux lettres 163, écrivez smpt.163.com.
System.Web.Mail.SmtpMail.SmtpServer="127.0.0.1";
// On dit que de nombreux serveurs SMTP nécessitent une authentification pour éviter le spam. Cela semble s'appeler le protocole smpt étendu ou quelque chose du genre.
//Mais ce qui est connecté ici, c'est son propre serveur smpt, simple smpt, donc il n'y a pas de vérification.
// Quant à savoir si une vérification est requise lors de l'envoi d'e-mails depuis le serveur SMPT local vers 163 ou d'autres boîtes aux lettres, je ne sais pas. Lors des tests réels, les e-mails peuvent être envoyés à.
//@163.com , @eyou.com, @x.cn, aucune vérification n'est requise.
//vérifier
//mail.Fields.Add(" http://schemas.microsoft.com/cdo/configuration/smtpauthenticate ", "1");
//Nom de connexion
//mail.Fields.Add(" http://schemas.microsoft.com/cdo/configuration/sendusername ", "widebright");
//Mot de passe de connexion
//mail.Fields.Add(" http://schemas.microsoft.com/cdo/configuration/sendpassword ", "widebright");
//envoyer
System.Web.Mail.SmtpMail.Send(mail);
}
Le code ci-dessus utilise la classe System.Web.Mail.SmtpMail fournie dans .Net pour envoyer des e-mails et se connecter automatiquement
Serveur SMPT pour envoyer des emails. Certaines personnes utilisent des classes ou des sockets TCP pour écrire du code afin d'implémenter le protocole smpt, mais cela nécessite beaucoup de codage, de protocoles, etc., ce qui est assez gênant. J'en ai fait un avant d'utiliser VB. Le protocole smpt est relativement simple, mais l'encodage de ces pièces jointes nécessite beaucoup de code.
Il s'agit simplement du code pour envoyer des messages SMTP. Si vous souhaitez recevoir des messages et attendre, vous devez disposer d'un serveur pop3 prenant en charge le protocole pop3.
Le serveur SMTP est déjà installé après l'installation d'IIS. Pop3 n'est pas fourni, il peut donc être un peu plus difficile à installer. Je ne l'ai pas encore essayé !
Configuration du serveur SMTP
Je l'ai activé moi-même après avoir installé IIS 5.1. Je viens de le configurer dans IIS Information Service Manager.
1. Ajoutez plusieurs noms de domaine dans Domaines : faites un clic droit sur Domaines dans "Serveur virtuel SMTP par défaut"
Sélectionnez « Nouveau » pour en créer un nouveau, ---> Type de domaine et sélectionnez « À distance ».
Le nom de domaine est renseigné respectivement 163.com eyou.com x.cn, car je souhaite envoyer des e-mails à ces serveurs, et le même que dans le code ci-dessus
===============
mail.To=" [email protected] ";
===============
En conséquence, à qui vous souhaitez envoyer un e-mail, vous devez définir le nom de domaine correspondant. Si vous ne le définissez pas, l'e-mail ne pourra pas être envoyé.
2. Faites un clic droit sur un nom de domaine tel que 163.com, sélectionnez « Propriétés » et cochez « Autoriser le courrier entrant à être relayé vers ce domaine ». L'e-mail ne peut être envoyé qu'après vérification, sinon il y aura toujours une erreur. .
Pour le domaine de routage ci-dessous, sélectionnez simplement la valeur par défaut Utiliser DNS pour acheminer vers le domaine.
La clé est de définir le nom de domaine du serveur SMTP correspondant dans IIS, puis vous pourrez envoyer des e-mails. J'ai testé plusieurs boîtes aux lettres sur la page asp.net et elles peuvent être envoyées normalement. Comme la boîte aux lettres 163, cliquez sur le bouton pour envoyer et vous le recevrez.
Je viens de découvrir que tu peux l'ajouter
*.com
*.filet
*cn
Nom de domaine correspondant à la plupart des adresses e-mail.
Si vous ajoutez le nom de domaine *.com, vous pouvez envoyer des lettres à @163.com et @eyou.com
Le test a réussi sous l'environnement Windows XP+visual sutdio 2003+iis5.1.
Cependant, j’ai seulement constaté que les lettres envoyées à la boîte aux lettres Sina n’étaient pas reçues, et je ne sais pas pourquoi.
Erreur typique SMTP 550 5 7 1 Possibilité de relais se produit
En plus du nom de domaine du domaine n'est pas défini correctement, il peut y avoir
La case « Autoriser les ordinateurs qui s'authentifient avec succès à relayer » n'est pas cochée dans les paramètres du serveur virtuel SMTP. Comme indiqué ci-dessous,
Ouvrez d'abord la page Accès de la page de propriétés du serveur virtuel SMTP :
Cliquez ensuite sur le bouton « Relais » et vérifiez si « Autoriser tous les ordinateurs qui s'authentifient avec succès à se relayer, quelle que soit la liste ci-dessus » est sélectionné :