2

C#でpdfファイルをメールで送りたいです。メールの送信方法は知っていますが、pdfファイルでメールを送信する方法がわかりません:(

たとえば、フォルダー C:\test.pdf に pdf ファイルがあります。

これが私のコードです:

private void SendEmail(string pdfpath,string firstname, string lastname, string title, string company, string mailfrom,string mailto) 
{
    try
    {
        MailMessage m = new MailMessage();
        System.Net.Mail.SmtpClient sc = new System.Net.Mail.SmtpClient();

        m.From = new System.Net.Mail.MailAddress(mailfrom);
        m.To.Add(mailto);

        m.Subject = "Company Gastzugang (" + lastname + ", " + firstname + ")";


        // what I must do for sending a pdf with this email 

        m.Body = "Gastzugangdaten sind im Anhang enthalten";

        sc.Host = SMTPSERVER; // here is the smt path

        sc.Send(m);
    }
    catch (Exception ex)
    {
        error.Visible = true;
        lblErrorMessage.Text = "Folgender Fehler ist aufgetreten: " + ex.Message;
    }
}
4

4 に答える 4

4

あなたはこのようにすることができます:

var filename = @"c:\test.pdf";
m.Attachments.Add(new Attachment(filename));
于 2013-02-07T07:33:12.037 に答える
2

添付ファイルとして追加する必要があります。

これに関するMSDNのドキュメントを確認してください - http://msdn.microsoft.com/en-us/library/system.net.mail.mailmessage.attachments.aspx

于 2013-02-07T07:30:02.160 に答える
1
System.Net.Mail.Attachment attachment;
attachment = new System.Net.Mail.Attachment("filename");
m.Attachments.Add(attachment);
于 2013-02-07T07:34:53.570 に答える
0

これが私のコード全体です:

    public void SendMail()
{
    MailMessage msg = new MailMessage();
    msg.From = new MailAddress("contact@yourwebsite.com");
    string s = txtEmail.Text;
    msg.To.Add(txtEmail.Text);
    msg.Body = "<html><body><img src='~/images/back.png'/><br></body></html>";
    msg.IsBodyHtml = true;
    msg.BodyEncoding = System.Text.Encoding.GetEncoding("utf-8");
    Attachment at = new Attachment(Server.MapPath("~/Main/images/English.pdf"));
    //Dim at1 As New Attachment(Server.MapPath("~/Main/images/English.pdf"))
    msg.Attachments.Add(at);
    //msg.Attachments.Add(at1)
    msg.Priority = MailPriority.High;
    msg.Subject = "Special Gift";
    SmtpClient smtp = new SmtpClient();
    smtp.Host = "smtp.gmail.com";
    smtp.EnableSsl = true;
    smtp.Credentials = new System.Net.NetworkCredential("yourgmail@gmail.com", "gmailpassword");
    smtp.Send(msg);
}
于 2013-02-07T07:38:17.180 に答える