none
Formulaire de contact RRS feed

  • Question

  • Bonjour,

    J'ai besoin d'aide.

    J'ai mis en place un formulaire de contact qui fonctionne très bien sur Visual studio.

    Sauf qu'après publication sur IIS, le formulaire fonctionne mais si j'envoi un message avec pièce jointe, ça ne marche pas. (erreur http )

    j'ai hébergé sur le site IONOS, le formulaire ne fonctionne même plus chez l'hébergeur.

    Merci de m'aider svp

    cordialement

    jeudi 13 décembre 2018 17:55

Toutes les réponses

  • Bonjour ASNIONO,

    Pour que la communauté puisse vous aider au mieux possible, il sera utile de partager le contenu complet du message d'erreur?

    Cordialement, 
    Nina


    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

    vendredi 14 décembre 2018 13:57
    Modérateur
  • Bonjour Mme NINA,

    Merci de m'avoir répondu, ci mes codes et message d'erreur.

    Code Controller :

    var body = "<p>Email From: {0} ({1})</p><p>Message:</p><p>{2}</p>";
                    var message = new MailMessage();
    
                    if (model.PieceJointe != null && model.PieceJointe.Length > 0)
                    {
                        string file = model.PieceJointe.FileName;
    
                        // Create  the file attachment for this email message.
                        Attachment data = new Attachment(file, MediaTypeNames.Application.Octet);
                        // Add time stamp information for the file.
                        System.Net.Mime.ContentDisposition disposition = data.ContentDisposition;
                        disposition.CreationDate = System.IO.File.GetCreationTime(file);
                        disposition.ModificationDate = System.IO.File.GetLastWriteTime(file);
                        disposition.ReadDate = System.IO.File.GetLastAccessTime(file);
                        // Add the file attachment to this email message.
                        message.Attachments.Add(data); ;
                    }
    
                    message.To.Add(new MailAddress(model.AdressTo));  // replace with valid value 
                    message.From = new MailAddress(model.Email, "Test");  // replace with valid value
                    message.Subject = $"{ model.Subject }";
                    message.Body = string.Format(body, model.Name, model.Email, model.Message);
                    message.IsBodyHtml = true;
    
                    using (var smtp = new System.Net.Mail.SmtpClient())
                    {
                        var credential = new NetworkCredential
                        {
                            UserName = model.AdressAbsini,  // replace with valid value
                            Password = model.MotPass  // replace with valid value
                        };
                        smtp.Credentials = credential;
                        smtp.Host = model.Server;
                        smtp.Port = model.Port;
                        smtp.EnableSsl = true;
                        smtp.Send(message);
                        TempData["Message"] = "Votre message a été bien transmis.";
                        return RedirectToAction("Contact");
                    }

    Code vue:

    <div class="row">
        <div class="col-md-6">
            <h4> Vous pouvez me contacter par :</h4><br />
            <p>Telephone : + 33 0000000 <br /></p>
            <p>Skype :<strong style="color:blue"> YOO</strong><br /></p>
            <p>Mail : <strong style="color:blue">contact@gmail.com</strong><br /></p>
            <br />
            <p>Formulaire :</p>
            <form asp-controller="Absini" asp-action="Contact" asp-anti-forgery="true" method="post" enctype="multipart/form-data">
                <div class="form-group">
                    <div class="col-md-12 form-group">
                        <input asp-for="Name" class="form-control" placeholder="Nom" style="width:300px" />
                        <span asp-validation-for="Name" style="color: red"></span>
                    </div>
                    <div class="col-md-12 form-group">
                        <input asp-for="Email" class="form-control" placeholder="Email" style="width:300px" />
                        <span asp-validation-for="Email" style="color: red"></span>
                    </div>
                    <div class="col-md-12 form-group">
    
                        <select asp-for="Subject" class="form-control" placeholder="Objet" style="width:300px">
                            <option value=""></option>
                            <option value="T1">L1</option>
                            <option value="T2">L2</option>
                            <option value="T3">L3</option>
                            <option value="T3">L4</option>
                        </select>
    
                        @*<input asp-for="Subject" class="form-control" placeholder="Objet" style="width:300px" />*@
                        <span asp-validation-for="Subject" style="color: red"></span>
                    </div>
                    <div class="col-md-12 form-group">
                        <textarea asp-for="Message" class="message form-control" placeholder="Votre message..." style="width:500px;height:200px"></textarea>
                    </div>
    
                    <div class="form-group">
                        <div class="col-md-12">
                            <label asp-for="PieceJointe" class="control-label"></label><br />
                            <input asp-for="PieceJointe" type="file" class="form-control" style="width:500px" /><br />
                        </div>
                    </div>
                    <div class="form-group">
                        <div class="col-md-6">
                            <button class="btn btn-primary" type="submit">Envoyer</button>
                        </div>
                    </div>
    
                </div>
            </form>
    
            <script type="text/javascript" src="//tinymce.cachefly.net/4.0/tinymce.min.js"></script>
            <script type="text/javascript">
                tinymce.init({ selector: 'textarea' });
            </script>
    
        </div>
    
    </div>

    Message d'erreur:

    Erreur HTTP 404

    Étrange... Microsoft Edge ne parvient pas à trouver cette page


    Merci d'avance

    Cordialement,

    ASNIONO


    • Modifié ASNIONO vendredi 14 décembre 2018 23:03
    vendredi 14 décembre 2018 22:58
  • Bonjour,

    Étant donné que la classe Attachment hérite l'interface IDisposable, vous devez ajouter data.Dispose(); à la fin du bloc "if".
    Avez-vous essayé avec un autre fichier joint, avec une taille plus petite?

    Cordialement, 
    Nina


    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

    lundi 17 décembre 2018 14:59
    Modérateur
  • Bonjour,

    j'ai essayé data.Dispose(); à la fin du bloc "if" mais ça ne fonctionne pas.

    Et oui j'ai essayé avec une taille plus petite.

    Maintenant ça fonctionne avec IIS après la publication. J'ai utilisé la sécurité https au lieu http dans le gestionnaire de service IIS.

    Mon formulaire de contact ne marche pas toujours si j'héberge mon application chez IONOS. 

    Quelqu'un peut me d'aider svp?

    Cordialement,

    ASNIONO


    • Modifié ASNIONO lundi 14 janvier 2019 19:28 urgent
    mercredi 19 décembre 2018 21:13