#c#
#c#
Вопрос:
У меня есть приложение Windows c #, которое запущено на сервере, после его ежедневного запуска через планировщик задач в определенное время оно генерирует файл журнала, и теперь моя проблема могу ли я отправить электронное письмо на свой идентификатор office после завершения запуска приложения, в котором нет адреса from и его необходимо прикрепитьфайл журнала с электронной почтой.
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);
}
Комментарии:
1. если вы используете Google, вам нужно включить значение SL = true и указать этот номер порта. Убедитесь, что также указаны учетные данные (т.Е. Ваше имя пользователя и пароль для учетной записи gmail).
2. Ваш вопрос неясен. Он отправляет почту при нажатии кнопки. Когда именно вы хотите отправлять почту на свой идентификатор office
3. Я не использую Google, я использую наш собственный smtp-адрес.
4. В вашем вопросе нигде нет вопросительной метки. В чем ваш вопрос?
5. @shruthi: Как вы думаете
client.Host = "smtp.google.com";
, что это значит?
Ответ №1:
Много проблем в вашем коде и вопросе.
В вашем вопросе говорится: «Как мне отправить электронное письмо на мой идентификатор office». Неясно, что это значит. Вы имеете в виду, что у вас есть адрес электронной почты компании, например, shruti@mycompany.com
и вы хотите отправить на него электронное письмо?
Должен быть адрес from . Адрес не обязательно должен существовать. Например, у вас будет адрес from of 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
, потому что вы не указали альтернативные учетные данные.
Ответ №2:
Если вам известен формат или имя сообщения ежедневного журнала, вы можете использовать следующий код после создания своего почтового сообщения:
MailMessage mail = new MailMessage("you@yourcompany.com", "user@hotmail.com");
mail.Attachments.Add(new Attachment("filepath.log"));