0

ファイルアップロードコントロールがあるページがあります。フォームの送信時に、ファイルアップロードコントロールにファイルがある場合、ファイルは添付ファイルを介してメールで送信され、非常に正常に機能しますが、ファイルアップロードコントロールにファイルがない場合は、ATT00006.datファイルメールの添付ファイルを介して自動的に送信されます。

参照URL:http ://nextech.pk/Enquiry.aspx?Enq=cu

助けてくれてありがとう

編集-コード:

 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);
4

3 に答える 3

2

あなたがこれに対する答えを得たかどうかはわかりませんが、私は最近問題を詳細に研究しました。この問題は、添付ファイルに明示的な名前を指定しなかったために発生します。名前が明示的に定義されていない限り、ASP.NETは常に.DATとしてアタッチされます。

問題は、ASP.NETが添付ファイル名としてファイル名を使用すると想定していることですが、これは起こりません。

コードでは、添付ファイルのインスタンスを作成してから、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)

.DATファイルを添付するASP.NETの完全な説明は、こちらから入手できます。

于 2012-10-09T13:58:41.750 に答える
0

使用しているメールサーバー(またはメールサーバーで使用しているウイルス対策ソフトウェア)がこのファイルを自動的に追加していると思います。

問題のファイルには何かが含まれていますか、それとも空ですか?

于 2009-09-09T06:48:28.717 に答える
0

システムが理解できないアタッチメントタイプの不一致。コードと、添付ファイルとしてファイルがない場合の対処方法を投稿してください。

于 2009-09-09T06:51:24.293 に答える