none
como enviar um pdf anexado por e-mail? RRS feed

  • 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

    segunda-feira, 5 de novembro de 2012 19:20

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.

    terça-feira, 6 de novembro de 2012 20:40
  • 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.

    quarta-feira, 7 de novembro de 2012 12:10

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.

    terça-feira, 6 de novembro de 2012 20:40
  • 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"

    quarta-feira, 7 de novembro de 2012 10:58
  • Lucas o arquivo está dentro de uma pasta junto com todos os arquivos

    Rodrigo de Farias

    quarta-feira, 7 de novembro de 2012 11:52
  • 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.

         mano o caminho tem que ser o da minha maquina ou o do servidor?

    Rodrigo de Farias

    quarta-feira, 7 de novembro de 2012 12:06
  • 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.

    quarta-feira, 7 de novembro de 2012 12:10
  • 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.

    Mano valeu mesmo nem sei como agradecer funcionou certinho! :D

    Rodrigo de Farias

    quarta-feira, 7 de novembro de 2012 12:24
  • Disponha sempre.

    Abraços.


    Washington Luíz | MCP, MCTS
    O Senhor é minha força e somente Nele confio.

    quarta-feira, 7 de novembro de 2012 12:52