Question

J'ai une page qui ont fileUpload contrôle, sur la soumission du formulaire, lorsque le contrôle de fileupload comporte un fichier, le fichier est envoyé par pièce jointe dans un courrier et travailler absulutly bien, mais quand le contrôle de fileupload n'a pas le fichier, < strong> ATT00006.dat fichier est automatiquement envoyé par pièce jointe.

URL de référence: http://nextech.pk/Enquiry.aspx?Enq=cu

Advance Merci pour toute aide

Modifier - Code:

 hpf = fup1.PostedFile;
    String toEmail = "test@hotmail.com";
    String fromEmail = "mailer@hotmail.com";
    MailMessage objMail = new MailMessage(fromEmail, toEmail);
    objMail.IsBodyHtml = true;

    StringBuilder MailBody = new StringBuilder();

    MailBody.Append("<html><head></head><body> <br>");
    MailBody.Append("<br>" + "An enquiry is filed <br><br>");
    MailBody.Append("<strong><u>Enquirer Information</u></strong>" + "<br><br>");
    MailBody.Append("<strong>Contact Name:</strong>&#09;" + txtFirstName.Text + "<br>");
    MailBody.Append("<strong>Email:</strong>&#09;&#09;&#09; " + txtEmail.Text + "<br>");
    MailBody.Append("<strong>Institute:</strong>&#09;&#09; " + txtInstitute.Text + "<br>");
    MailBody.Append("<strong>Phone #:</strong>&#09;&#09; " + txtPhone.Text + "<br>");

    MailBody.Append("<br><strong>Description:</strong><br>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; " + txtEnquiry.Text + "<br>");

    if (hpf != null)
    {
        MailBody.Append("<br>" + "This email also contains an attachment:- <Strong>(" + hpf.FileName + ")</Strong><br>");
    }

    MailBody.Append("</body></html>");
    objMail.Body = MailBody.ToString();
    if (hpf != null)
    {
        System.IO.Stream inputStream = hpf.InputStream;
        String fileName = hpf.FileName;
        Attachment attach = new Attachment(inputStream, fileName);

        objMail.Attachments.Add(attach);
    }
    SmtpClient SmtpClnt = new SmtpClient();
    SmtpClnt.Send(objMail);
Était-ce utile?

La solution

L'une désadaptation dans le type de pièce jointe que le système ne comprend pas. S'il vous plaît envoyer votre code et ce que vous faites quand il est le fichier non comme une pièce jointe.

Autres conseils

Je ne sais pas si vous avez pu vous une réponse à cela, mais je l'ai récemment étudié le problème en détail. Le problème se produit parce que vous n'avez pas fourni un nom explicite pour la pièce jointe. ASP.NET toujours attacher comme .DAT à moins que le nom est explicitement défini.

Le problème est que les gens supposent ASP.NET utilisera le nom de fichier comme nom de pièce jointe, ce qui ne se fait pas!

Dans votre code, vous devez créer une instance de la pièce jointe, puis indiquez le nom en utilisant explicitement la propriété FileUpload.FileName:

Dim att As New System.Net.Mail.Attachment(fu.PostedFile.InputStream, System.Net.Mime.MediaTypeNames.Application.Octet) ' use Octet for binary files '
att.Name = fu.FileName ' get the file name and type automatically '
mm.Attachments.Add(att)

Une explication complète de ASP.NET joindre des fichiers .DAT est disponible ici

Je pense que ajoute automatiquement ce fichier le serveur de messagerie que vous utilisez (ou un logiciel antivirus utilisé par le serveur de messagerie).

Est-ce que le fichier en question contient quelque chose, ou est-il vide?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top