我有一个在服务器上运行的windows c#应用程序,在每天通过任务调度程序运行后,它会生成一个日志文件,现在我的问题是我可以在运行完毕后向我的办公室ID发送一封电子邮件没有来自地址的应用程序,需要将日志文件附加到电子邮件中。
private void button1_Click(object sender, EventArgs e)
{
MailMessage mail = new MailMessage("eg@king.co.uk", "user@hotmail.com");
SmtpClient client = new SmtpClient();
client.Port = 25;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Host = @"100.100.0.1";- fake host
mail.Subject = "this is a test email.";
mail.Body = "this is my test email body";
client.Send(mail);
}
答案 0 :(得分:1)
您的代码和问题中存在许多问题。
您的问题是"如何向我的办公室ID发送电子邮件"。目前尚不清楚这意味着什么。您的意思是说您有公司的电子邮件地址,例如shruti@mycompany.com
,并且您想向其发送电子邮件吗?
必须有一个来自地址。地址不一定存在。例如,您的地址为donotreply@mycompany.com
。
您的问题包括通过Gmail服务器发送电子邮件的代码:client.Host = "smtp.google.com";
。这使得正在阅读您问题的每个人都认为您正在尝试通过Google发送电子邮件,这有特定的要求。如果情况并非如此,那么请将您的问题更新为明确。例如,如果您使用公司托管的电子邮件服务器,则可以使用smtp.mycompany.com
。
因此,如果问题实际上是关于如何将文本文件附加到您的电子邮件中,请按以下步骤操作:
private void button1_Click(object sender, EventArgs e)
{
MailMessage mail = new MailMessage("donotreply@yourcompany.com", "user@hotmail.com");
SmtpClient client = new SmtpClient();
client.Port = 25;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.Host = "smtp.mycompany.com";
mail.Subject = "this is a test email.";
mail.Body = "this is my test email body";
mail.Attachments.Add(new Attachment("log.txt"));
client.Send(mail);
}
请注意,我删除了UseDefaultCredentials=false
,因为您没有指定备用凭据。
答案 1 :(得分:0)
如果您知道每日日志消息的格式或名称,则可以在创建MailMessage后使用以下代码:
MailMessage mail = new MailMessage("you@yourcompany.com", "user@hotmail.com");
mail.Attachments.Add(new Attachment("filepath.log"));