none
WebMatrix et les mail forms RRS feed

  • Question

  • Bonjour a tous

    voici le code que j'utilise pour la page Contactme.schtml

    @{
    Layout = "~/_SiteLayout.cshtml";
    Page.Title = "Me Contacter";
    
    var firstName = "";    
    var lastName = "";  
    var url = "";
    var email = "";    
    var comment = "";   
        
            if(IsPost) 
            {            
                firstName = Server.HtmlEncode(Request["firstName"]);        
                lastName = Server.HtmlEncode(Request["lastName"]);   
                url = Server.HtmlEncode(Request["url"]);   
                email = Server.HtmlEncode(Request["email"]);        
                comment = Server.HtmlEncode(Request["comment"]);   
                
                var db = Database.Open("BlogDM");      
                db.Execute("INSERT INTO Contacts (FirstName,  LastName, Url, EMail, Comment) VALUES (@0, @1, @2, @3, @4)",  firstName, lastName, url, email, comment);     
                
                //Send E-Mail Confirmations        
               var contactConfirm = string.Format("Thanks {0} {1} for contacting us. We will respond as soon as we can.",firstName, lastName);                
               var newContact = string.Format("A new contact request has been made. Please respond ASAP!!",  firstName, lastName, url, email, comment);               
                
                // Initialize Mail helper        
                WebMail.SmtpServer = "MonSMTP";        
                WebMail.SmtpPort = 25;        
                WebMail.EnableSsl = false;        
                WebMail.UserName = "Mon EMail"; 
                WebMail.From = email;        
                WebMail.Password = "Password";               
                
                // Send confirmation email        
                WebMail.Send(to:"danielmorais@hotmail.ca", subject:"Contact Request", body: contactConfirm);
                
                // Send alert email        
                WebMail.Send(to:"danielmorais@hotmail.ca", subject:"Contact Request", body: newContact);
                
                //<p>Merci @firstName; @lastName; pour vos commentaires.</p> 
            }
     }
              <form method="post">   
                    <fieldset class="span-12">        
                        <legend>Pour me contacter remplisser les case suivantes.</legend>        
                            <ul>            
                                    <li><label for="firstName">First Name:</label><input id="firstName" name="firstName"/></li>            
                                    <li><label for="lastName">Last Name:</label><input id="lastName" name="lastName"/></li>       
                                    <li><label for="url">Url:</label><input id="url" name="url"/></li>   
                                    <li><label for="email">E-Mail:</label><input id="email" name="email"/></li>            
                                    <li><label for="comment">Comment:</label><textarea id="comment" rows="10" cols="40" name="comment"></textarea></li>           
                                    <li><button id="btnComment">Submit</button></li>        
                            </ul>    
                    </fieldset>    
        </form>  

    le message d'erreur que recoit est le suivant

    Erreur du serveur dans l'application '/'.
    --------------------------------------------------------------------------------
    
    La chaîne spécifiée n'est pas de la forme requise pour une adresse de messagerie. 
    Description : Une exception non gérée s'est produite au moment de l'exécution de la requête Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code. 
    
    Détails de l'exception: System.FormatException: La chaîne spécifiée n'est pas de la forme requise pour une adresse de messagerie.
    
    Erreur source: 
    
    
    Ligne 34 :             
    Ligne 35 :             // Send confirmation email        
    Ligne 36 :             WebMail.Send(to:"danielmorais@hotmail.ca", subject:"Contact Request", body: contactConfirm);
    Ligne 37 :             
    Ligne 38 :             // Send alert email        
     
    
    Fichier source : c:\Documents and Settings\Daniel Morais\Mes documents\My Web Sites\DMorais\ContactMe.cshtml    Ligne : 36 
    
    Trace de la pile: 
    
    
    [FormatException: La chaîne spécifiée n'est pas de la forme requise pour une adresse de messagerie.]
       System.Net.Mail.MailAddressParser.ReadCfwsAndThrowIfIncomplete(String data, Int32 index) +1251989
       System.Net.Mail.MailAddressParser.ParseDomain(String data, Int32& index) +118
       System.Net.Mail.MailAddressParser.ParseAddress(String data, Boolean expectMultipleAddresses, Int32& index) +94
       System.Net.Mail.MailAddressParser.ParseAddress(String data) +23
       System.Net.Mail.MailAddress..ctor(String address, String displayName, Encoding displayNameEncoding) +245
       System.Web.Helpers.WebMail.SetPropertiesOnMessage(MailMessage message, String to, String subject, String body, String from, String cc, IEnumerable`1 filesToAttach, Boolean isBodyHtml, IEnumerable`1 additionalHeaders) +692
       System.Web.Helpers.WebMail.Send(String to, String subject, String body, String from, String cc, IEnumerable`1 filesToAttach, Boolean isBodyHtml, IEnumerable`1 additionalHeaders) +578
       ASP._Page_ContactMe_cshtml.Execute() in c:\Documents and Settings\Daniel Morais\Mes documents\My Web Sites\DMorais\ContactMe.cshtml:36
       System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +207
       System.Web.WebPages.WebPage.ExecutePageHierarchy(IEnumerable`1 executors) +68
       System.Web.WebPages.WebPage.ExecutePageHierarchy() +156
       System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) +76
       System.Web.WebPages.WebPageHttpHandler.ProcessRequestInternal(HttpContext context) +249
    
     
    
    
    --------------------------------------------------------------------------------
    Informations sur la version : Version Microsoft .NET Framework :4.0.30319; Version ASP.NET :4.0.30319.1 

    tout fonctionne pour enregistrer les données dans une base de donnée mais pour ce qui est de l'envoyer par email ca fonctionne pas


    si kkun peut m'aidé SVP

    MERCI


    BigDan
    lundi 3 octobre 2011 22:24

Réponses

  • Bonjour,

    Modifiez la ligne suivante :

    WebMail.From = Request["email"];

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte .NET/Consultant/Formateur chez Winwise
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5
    • Marqué comme réponse DanielMorais mardi 4 octobre 2011 21:54
    mardi 4 octobre 2011 06:33
    Modérateur

Toutes les réponses

  • Bonjour,

    Modifiez la ligne suivante :

    WebMail.From = Request["email"];

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte .NET/Consultant/Formateur chez Winwise
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5
    • Marqué comme réponse DanielMorais mardi 4 octobre 2011 21:54
    mardi 4 octobre 2011 06:33
    Modérateur
  • Bonjour ou bonsoir Gilles

    Merci beaucoup

    j'e modifier cette ligne un peut apres la fermeture de ce thread

    et j'ai du Réecrire une partis des ligne parce que l'ide accept pas trop bien les copier coller

    je me suis appercu que de temps a autres ca fonctionne pas certaint codes je dois les réecrire

    au complet je sais pas si  c'est un bogue mais je suis ca de pres avec l'editeur de WM

    maintenant ca fonctionne.

    MERCI Beaucoup.  


    BigDan
    mardi 4 octobre 2011 21:54