Domanda

Ho una pagina che hanno FileUpload controllo, sulla presentazione del modulo, quando il controllo FileUpload ha di file, il file viene inviato tramite allegato di una e-mail e di lavoro absulutly bene, ma quando il controllo FileUpload non ha il file, < strong> ATT00006.dat file viene inviato automaticamente tramite allegato di posta elettronica.

URL di riferimento: http://nextech.pk/Enquiry.aspx?Enq=cu

Advance Grazie per qualsiasi aiuto

Modifica - Codice:

 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);
È stato utile?

Soluzione

Il suo un mis-match nel tipo di allegato che il sistema non capisce. Si prega di inviare il vostro codice e ciò che si fa quando non v'è il file come allegato.

Altri suggerimenti

Non so se avete mai avuto una risposta a questa, ma recentemente ho studiato il problema in dettaglio. Il problema si verifica perché non è stato fornito un nome esplicito per l'allegato. ASP.NET sarà sempre allegare come .DAT meno che il nome è definito esplicitamente.

Il problema è che le persone assumono ASP.NET utilizzerà il nome del file come il nome dell'allegato, che non accade!

Nel codice, è necessario creare un'istanza della attacco, quindi specificare il nome in modo esplicito utilizzando la proprietà 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)

Una spiegazione completa di ASP.NET allegare file DAT è disponibile qui

Credo che il server di posta in uso (o software antivirus utilizzato dal server di posta) è l'aggiunta automaticamente questo file.

Fa il file in questione contiene nulla, o è vuoto?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top