简体   繁体   中英

C#: How can I attach a PDF file to an eMail?

Below is my code by which I try to send an email to the recipient. I want to attach a .PDF file which is saved in the project folder. I tried using:

mail.Attachments.Add(new Attachment("c:\\temp\\example.txt"));

but it's not working. How do I attach a file?

C# Code sample

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace SendEmail
{

public partial class SendEmail : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        SendMail();
    }

    protected void SendMail()
    {

        var fromAddress = "";
        var toAddress = "";
        //Password of your gmail address
        const string fromPassword = "";
        string subject = "INCOMPLETE APPLICATION CASE ID [CASE ID]";
        string body = "Your Incomplete Grade Application has been Result[]";

        // smtp settings
        var smtp = new System.Net.Mail.SmtpClient();
        {
            smtp.Host = "10.12.46.3";
            smtp.Port = 25;
            smtp.EnableSsl = false;
            smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
            smtp.Credentials = new NetworkCredential(fromAddress, fromPassword);
            smtp.Timeout = 20000;
        }
        // Passing values to smtp object
        smtp.Send(fromAddress, toAddress, subject, body);
    }
}
}

No time for comments right now, but this will get you out of your bind.

    private void SendIt()
    {
        var fromAddress = "";
        var toAddress = "";
        //Password of your gmail address
        const string fromPassword = "";
        // smtp settings
        var smtp = new System.Net.Mail.SmtpClient();
        {
            smtp.Host = "";
            smtp.Port = 25;
            smtp.EnableSsl = false;
            smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
            smtp.Credentials = new NetworkCredential(fromAddress, fromPassword);
            smtp.Timeout = 20000;
        }
        MailMessage msg = new MailMessage();
        MailAddress ma = new MailAddress(fromAddress);
        msg.To.Add(toAddress);
        msg.From = ma;
        msg.Attachments.Add(new Attachment(@"C:\temp\myreport.log"));
        msg.Body = "Your body message";
        msg.Subject = "Your subject line";
        smtp.Send(msg);
    }
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Mail;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;

namespace SendEmail
{
public partial class SendEmail : System.Web.UI.Page
{

    protected void Page_Load(object sender, EventArgs e)
    {
        SendMail();
    }
    protected void SendMail()
    {

        MailMessage mail = new MailMessage();

        mail.From = new MailAddress("");
        mail.To.Add("");
        mail.Subject = "INCOMPLETE APPLICATION CASE ID [CASE ID]";
        mail.Body = "Your Incomplete Grade Application has been Result[]";

        System.Net.Mail.Attachment attachment;
        attachment = new  System.Net.Mail.Attachment(Server.MapPath("files/test.pdf"));
        mail.Attachments.Add(attachment);
        var smtp = new System.Net.Mail.SmtpClient();
        {
            smtp.Host = "10.12.46.3";
            smtp.Port = 25;
            smtp.EnableSsl = false;
            smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
            smtp.Credentials = new NetworkCredential("", "");
        }
        smtp.Send(mail);
    }

 }

 }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM