Отправка анонимных писем C#

Привет, я хочу отправить подтверждение пароля своим пользователям с помощью С#, и я хочу защитить свой почтовый ящик от спама. Как я могу это сделать?

Пробовал это, и это не работает:

SmtpClient smtpClient = new SmtpClient("smtp.gmail.com", 587);
smtpClient.EnableSsl = true;

smtpClient.Timeout = 10000;
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = new NetworkCredential("login", "password");

MailMessage mailMsg = new MailMessage();
mailMsg.From = new MailAddress("[email protected]");
mailMsg.To.Add("user");
mailMsg.CC.Add("[email protected]");
mailMsg.Bcc.Add("[email protected]");
mailMsg.Subject = "Subject";
mailMsg.Body = "BodyOfTheMailString";
smtpClient.Send(mailMsg); 
Console.WriteLine("Mail sent");

Пользователь, которому я отправляю это письмо, получает мою учетную запись gmail в качестве отправителя


person Ilya Gazman    schedule 21.01.2012    source источник
comment
Вы можете выбрать любой адрес электронной почты отправителя, который вы хотите   -  person Magnus    schedule 21.01.2012
comment
Вам не нужны анонимные электронные письма только для того, чтобы избежать спама.   -  person CodesInChaos    schedule 21.01.2012


Ответы (2)


Это не задача C# и не тело вашего сообщения: это конфигурация вашего почтового ящика.

Если это только для проверки электронной почты, вы всегда можете создать новое электронное письмо, например «[email protected]» или «[email protected]», для отправки этих сообщений проверки, а затем настроить этот почтовый ящик на игнорирование входящих сообщений.

Кроме того, если вы попытаетесь отправить сообщения, используя электронные письма, которые не зарегистрированы на вашем сервере, сервер может отклонить ваш запрос.

person WoLfulus    schedule 21.01.2012

ОБНОВИТЬ:

Вы должны были изначально упомянуть, что вы используете smtp Gmail. Чтобы люди не рассылали спам, Gmail всегда устанавливает от на ваш адрес электронной почты, независимо от того, что вы пишете в свойстве From.

Установите адрес отправителя в MailMessage на «[email protected]».

MailMessage mailMsg = new MailMessage();
mailMsg .From = "[email protected]";
mailMsg .To = "[email protected]";
mailMsg .Cc = "[email protected]"";
mailMsg .Bcc = "[email protected]";
mailMsg .Subject = "Subject";
mailMsg .Body = "BodyOfTheMailString";
SmtpMail.Send(mailMsg ); 
person KMan    schedule 21.01.2012
comment
Если это не сработает, ответом может быть настройка вашего SMTP-сервера для правильного поведения пользователя noreply. Зависит от вашей настройки. - person Corey Ogburn; 21.01.2012
comment
он устанавливает мою учетную запись gmail как учетную запись, с которой было отправлено письмо - person Ilya Gazman; 21.01.2012
comment
Да, я знаю. Как я писал в своем обновленном ответе, вы не сможете изменить адрес, если используете smtp Gmail. - person KMan; 21.01.2012
comment
MailAddress ma = new MailAddress("[email protected]"); MailAddressCollection mac = new MailAddressCollection(); mac.Add("[email protected]"); работает - person Ashish Kamble; 22.03.2019