Inviare email con SMTP con autenticazione Asp.Net senza utilizzare JMail

Da It Ikoula wiki.
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

it:Inviare email con SMTP con autenticazione Asp.Net senza utilizzare JMail he:שלחו מייל עם SMTP עם Asp.Net אימות ללא שימוש JMail ro:Trimite e-mail cu SMTP cu Asp.Net autentificare fără utilizarea JMail ru:Отправка электронной почты с SMTP с проверкой подлинности Asp.Net без использования JMail pl:Wyślij e-mail z SMTP z Asp.Net uwierzytelniania bez użycia JMail ja:JMail を使用せず、Asp.Net 認証と SMTP でメールを送信します。 ar:إرسال البريد الإلكتروني مع SMTP مع مصادقة Asp.Net بدون استخدام جميل zh:不使用 JMail 发送电子邮件的 SMTP 与 Asp.Net 身份验证 de:Senden Sie e-Mail mit SMTP mit Authentifizierung ASP ohne JMail nl:Stuur e-mail met SMTP met Asp.Net-verificatie zonder gebruik te maken van JMail pt:Enviar e-mail com SMTP com autenticação do Asp.Net sem usar o JMail es:Enviar correo electrónico con SMTP con autenticación de Asp.Net sin usar JMail en:Send email with SMTP with Asp.Net authentication without using JMail fr:Envoyer un email avec authentification SMTP avec Asp.Net sans utiliser JMail

Abbiamo messo a vostra disposizione il componente JMail modo che è possibile inviare la posta elettronica dal nostro hosting. Questo componente consente di utilizzare semplicemente l'autenticazione SMTP necessaria per l'invio di queste mail (conferisce seguente articolo)

Tuttavia, è possibile eseguire l'autenticazione e l'invio della posta senza uso JMail.

Ecco un esempio di codice che è possibile utilizzare :

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Net" %>
<%@ Import Namespace="System.Net.Mail" %>
 
<script runat="server">
  protected void Page_Load(object sender, EventArgs e)
  {
    SendMail();
  }

  void SendMail()
  {
    MailMessage NetMail = new MailMessage();
    SmtpClient MailClient = new SmtpClient();

    // Serveur à partir duquel seront envoyés les mails
    string ThisHost = "localhost";

    // Nom d'utilisateur pour envoyer les mails (votre adresse mail dans le cadre de nos hébergements mutualisés)
    string ThisUsername =  @"utilisateur@mondomaine.fr";

    // Mot de passe de la boite mail utilisée plus ci-dessus
    string ThisPassword = "Osef412";

    // Port du serveur de messagerie (587 pour le serveur SMTP par défaut sur nos offre mutualisées)
    int ThisPort = 587;

    // Adresse de l'expéditeur du mail
    string EmailSender = "mondomaine.fr <utilisateur@mondomaine.fr>";

    // Destinataire du mail que vous souhaitez envoyer
    string EmailRecipient = "DUPONT ROGER <dupont@roger.com>";

    NetMail.From = new MailAddress(EmailSender);
    NetMail.To.Add(new MailAddress(EmailRecipient));
    NetMail.IsBodyHtml = false;
    NameValueCollection NVCSrvElements = Request.ServerVariables;
    string[] InstanceID = NVCSrvElements.GetValues("INSTANCE_ID");
    NetMail.Headers.Add("Message-Id", "<" + Guid.NewGuid().ToString() + "@mondomaine.fr>");
    NetMail.Headers.Add("X-Instance-ID", Convert.ToString(InstanceID[0]));

    // Sujet du mail que vous désirez envoyer
    NetMail.Subject = "Test";

    // Contenu du mail
    NetMail.Body = "Cet email a été envoyé à  " + DateTime.Now.ToLongTimeString();

    // On désactive le SSL pour l'envoi du mail
    MailClient.EnableSsl = false;

    NetworkCredential myCredentials = new NetworkCredential(ThisUsername, ThisPassword);
    MailClient.Credentials = myCredentials;
    MailClient.DeliveryMethod = SmtpDeliveryMethod.Network;
    MailClient.Host = ThisHost;
    MailClient.Port = ThisPort;
    
    try {
      MailClient.Send(NetMail);
      Response.Write("Mail envoyé avec succès");
    } catch (Exception ex) {
      Response.Write("<pre>" + ex + "</pre>");
    }

    NetMail.Dispose();
    NetMail = null;
    MailClient = null;
  }
</script>



Non si dispone dei permessi necessari per inviare commenti.