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

本文关键字:数据 文件 电子邮件 使用 | 更新日期: 2023-09-27 17:58:56

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

如果可能的话,你能帮我吗? 比如在这里发布链接或关于如何......答案非常感谢。

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

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

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

  1. 看看SmtpClient类和MailMessage类。
  2. 您需要将数据转储到文件中,也可以将 sqlite 文件本身作为电子邮件的附件附加。
  3. 那么你可以使用SMTP服务器发送电子邮件,看看这个问题:通过Gmail在.NET中发送电子邮件

您可以使用 .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);  
  }

有一堆关于如何使用 C# 发送电子邮件的文章(和 StackOverflow 帖子(,只需在"发送电子邮件 C#"上进行互联网搜索,这篇文章就可以让你入门。

真正需要确保的唯一一件事是,您有一个SMTP服务器(发送邮件服务器(,您有权发送。通常,这意味着您的互联网服务提供商公司的邮件服务器,但这需要检查,因为它往往因人而异。

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

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);
    }