使用C#通过电子邮件发送数据文件

时间:2014-04-18 05:41:03

标签: c#

是否可以通过电子邮件发送使用c#制作的应用程序的文件或数据? 我有一个程序将其数据存储在sqlite数据库appdata。所以我需要定期(或每天)备份,以防意外删除数据,而无需通过互联网手动发送。

如果有可能,你可以帮我吗?喜欢在这里发帖链接或关于如何...答案非常感谢。

程序在database.sqlite文件夹中创建文件AppData/MyProgram,我想发送该文件。

4 个答案:

答案 0 :(得分:2)

我写了一个简单的指南来做你想做的事。

  1. 查看SmtpClient班级和MailMessage班级。
  2. 您需要将数据转储到文件中,或者您可以附加sqlite文件本身,作为电子邮件的附件。
  3. 然后您可以使用SMTP服务器发送电子邮件,看看这个问题:Sending email in .NET through Gmail

答案 1 :(得分:1)

您可以使用.Net邮件类发送附有文件的电子邮件作为附件。 以下是发送带附件的电子邮件的代码。

var smtp = new System.Net.Mail.SmtpClient();
{
    MailMessage mail = new MailMessage();
    mail.From = new MailAddress(sFromEmail);
    string sFrom = mail.From.ToString();

    mail.Subject = sSubject;
    mail.Body = sBody;
    mail.IsBodyHtml = true;

    Attachment sMailAttachment;
    sMailAttachment = new Attachment("Your file file");
    mail.Attachments.Add(sMailAttachment);

    smtp.Host = "SMTPP HOST"
    smtp.Port = "PORT" 

    smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
    smtp.Credentials = new NetworkCredential(sSMTPUserName, sSMTPPassword);

    smtp.Timeout = 30000;

    smtp.Send(mail);  
  }

答案 2 :(得分:0)

有很多关于如何使用C#发送电子邮件的文章(以及StackOverflow帖子),只需在"发送电子邮件c#" this post可以帮助您入门。

您唯一需要确保的是,您有一个您有权发送的smtp服务器(外发邮件服务器)。通常,这意味着您的公司的互联网服务提供商的邮件服务器,但这需要检查,因为它往往对每个人都不同。

另外:请注意大多数(如果不是全部)"常规" smtp服务器将限制您可以发送的每分钟或每小时的电子邮件数量,因此不要过度

答案 3 :(得分:0)

public void mail()
    {
        MailMessage sendmsg = new MailMessage("frommail", "tomail", "subject", "body"); 
        SmtpClient client = new SmtpClient("smtp.gmail.com");

        client.Port = Convert.ToInt16("587");
        client.Credentials = new System.Net.NetworkCredential("frommail", "password");
        Attachment sMailAttachment;
        sMailAttachment = new Attachment("your file");
        sendmsg.Attachments.Add(sMailAttachment);
        client.EnableSsl = true;
        client.Send(sendmsg);
    }
相关问题