ATT00006.DAT ARQUIVO ANEXO ACORTADO ACORNECIDO NO ANEXO DE CAIL
-
22-09-2019 - |
Pergunta
Eu tenho uma página que possui controle de fileupload, no envio do formulário, quando o controle do arquivo FileUpload possui arquivo, o arquivo é enviado por anexo em um e -mail e funcionando absulutamente bem, mas quando o controle do FileUpload não possui arquivo, Att00006.dat O arquivo é enviado automaticamente via anexo de email.
URL de referência: http://nextech.pk/enquiry.aspx?enq=cu
Avide obrigado por qualquer ajuda
Editar - código:
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>	" + txtFirstName.Text + "<br>");
MailBody.Append("<strong>Email:</strong>			 " + txtEmail.Text + "<br>");
MailBody.Append("<strong>Institute:</strong>		 " + txtInstitute.Text + "<br>");
MailBody.Append("<strong>Phone #:</strong>		 " + txtPhone.Text + "<br>");
MailBody.Append("<br><strong>Description:</strong><br>         " + 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);
Solução
É uma correspondência incorreta no tipo de anexo que o sistema não entende. Por favor, poste seu código e o que você faz quando não houver arquivo como anexo.
Outras dicas
Não sei se você já recebeu uma resposta para isso, mas recentemente estudei o problema em detalhes. O problema ocorre porque você não forneceu um nome explícito para o anexo. O ASP.NET sempre anexará como .dat, a menos que o nome seja explicitamente definido.
O problema é que as pessoas assumem que o ASP.NET usará o nome do arquivo como o nome do anexo, o que não acontece!
No seu código, você deve criar uma instância do anexo e fornecer o nome explicitamente usando a propriedade 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)
Uma explicação completa do ASP.NET Anexar arquivos .dat está disponível aqui
Eu acho que o servidor de correio que você está usando (ou software antivírus usado pelo servidor de correio) está adicionando automaticamente esse arquivo.
O arquivo em questão contém alguma coisa ou está vazio?