Usuário com melhor resposta
como enviar um pdf anexado por e-mail?

Pergunta
-
ola vejam o codigo abaixo ...
try
{
MailMessage objEmail = new MailMessage();
objEmail.From = new MailAddress("noreply@e9Play.com.br");
objEmail.To.Add(_Email);
objEmail.Subject = "Bem vindo ao E9Play!";
objEmail.IsBodyHtml = true;
objEmail.Body = "<p>Parabéns você adquiriu o <strong>E9Play</strong> !</p>";
Attachment anexo = new Attachment(@"c:\envio\teste.txt", MediaTypeNames.Text.Plain);
objEmail.Attachments.Add(anexo);
SmtpClient objSmtp = new SmtpClient();
objSmtp.Host = "smtp.supermansites.com.br";
objSmtp.Credentials = new NetworkCredential("rodrigo@supermansites.com.br", "elemento9");
objSmtp.Send(objEmail);
Response.Write("<h1>" + _Email + "</h1>");
}
catch (Exception ex)
{
Response.Write(ex.Message);
Response.Write("<h1>" + _Email + "</h1>");
Response.Write("<h1>Email não Enviado</h1>");
}estou tentando enviar esse email com um txt em anexo ao para testar, porem ao enviar ele me reporta este erro : Could not find a part of the path....
mas na verdade quero enviar um pdf em anexo alguém pode me ajudar com este problema?
obrigado
Respostas
-
Olá Rodrigo. Para anexar o PDF é bem simples. Veja:
FileStream fs = new FileStream("c:\\pasta\\arquivo.pdf", FileMode.Open, FileAccess.Read); Attachment anexo = new Attachment(fs, "arquivo.pdf", MediaTypeNames.Application.Octet); objEmail.Attachments.Add(anexo);
Abraços
Washington Luíz | MCP, MCTS
O Senhor é minha força e somente Nele confio.- Marcado como Resposta Rodrigo de Farias quarta-feira, 7 de novembro de 2012 12:24
-
Tem que ser o caminho de onde a aplicação está rodando :)
O ideal é que o pdf fique em uma pasta de sua aplicação mesmo. Supondo que o arquivo esteja em uma pasta da sua aplicação chamada arquivos, o codigo seria assim:
FileStream fs = new FileStream(Server.MapPath("~/arquivos/arquivo.pdf"), FileMode.Open, FileAccess.Read); Attachment anexo = new Attachment(fs, "arquivo.pdf", MediaTypeNames.Application.Octet); objEmail.Attachments.Add(anexo);
Se o arquivo estiver dentro uma pasta física no servidor, fora da sua aplicação, entao voce pode colocar o caminho dela no servidor.
Abraços.
Washington Luíz | MCP, MCTS
O Senhor é minha força e somente Nele confio.- Marcado como Resposta Rodrigo de Farias quarta-feira, 7 de novembro de 2012 12:23
Todas as Respostas
-
Olá Rodrigo. Para anexar o PDF é bem simples. Veja:
FileStream fs = new FileStream("c:\\pasta\\arquivo.pdf", FileMode.Open, FileAccess.Read); Attachment anexo = new Attachment(fs, "arquivo.pdf", MediaTypeNames.Application.Octet); objEmail.Attachments.Add(anexo);
Abraços
Washington Luíz | MCP, MCTS
O Senhor é minha força e somente Nele confio.- Marcado como Resposta Rodrigo de Farias quarta-feira, 7 de novembro de 2012 12:24
-
Amigo,
O arquivo está no servidor com esse caminho?
Esse erro, se não me engano, é pq o arquivo não está dentro da pasta que você está procurando.A solução enviada pelo Washington também funciona, mas precisa que o arquivo esteja no servidor.
Antes de testar qualquer uma veja o arquivo está lá e você tem acesso a ele via a aplicação, caso contrário você vai ter esse problema com ambas as soluções.
Espero ter ajudado e boa sorte!
Não esqueça de marcar como útil uma resposta que te ajude.
"A diversão é a alma do negócio" -
-
Olá Rodrigo. Para anexar o PDF é bem simples. Veja:
FileStream fs = new FileStream("c:\\pasta\\arquivo.pdf", FileMode.Open, FileAccess.Read); Attachment anexo = new Attachment(fs, "arquivo.pdf", MediaTypeNames.Application.Octet); objEmail.Attachments.Add(anexo);
Abraços
Washington Luíz | MCP, MCTS
O Senhor é minha força e somente Nele confio.Rodrigo de Farias
-
Tem que ser o caminho de onde a aplicação está rodando :)
O ideal é que o pdf fique em uma pasta de sua aplicação mesmo. Supondo que o arquivo esteja em uma pasta da sua aplicação chamada arquivos, o codigo seria assim:
FileStream fs = new FileStream(Server.MapPath("~/arquivos/arquivo.pdf"), FileMode.Open, FileAccess.Read); Attachment anexo = new Attachment(fs, "arquivo.pdf", MediaTypeNames.Application.Octet); objEmail.Attachments.Add(anexo);
Se o arquivo estiver dentro uma pasta física no servidor, fora da sua aplicação, entao voce pode colocar o caminho dela no servidor.
Abraços.
Washington Luíz | MCP, MCTS
O Senhor é minha força e somente Nele confio.- Marcado como Resposta Rodrigo de Farias quarta-feira, 7 de novembro de 2012 12:23
-
Tem que ser o caminho de onde a aplicação está rodando :)
O ideal é que o pdf fique em uma pasta de sua aplicação mesmo. Supondo que o arquivo esteja em uma pasta da sua aplicação chamada arquivos, o codigo seria assim:
FileStream fs = new FileStream(Server.MapPath("~/arquivos/arquivo.pdf"), FileMode.Open, FileAccess.Read); Attachment anexo = new Attachment(fs, "arquivo.pdf", MediaTypeNames.Application.Octet); objEmail.Attachments.Add(anexo);
Se o arquivo estiver dentro uma pasta física no servidor, fora da sua aplicação, entao voce pode colocar o caminho dela no servidor.
Abraços.
Washington Luíz | MCP, MCTS
O Senhor é minha força e somente Nele confio.Rodrigo de Farias
-