C # - отправка электронной почты без необходимости входа на сервер - PullRequest
1 голос
/ 15 декабря 2009

У меня есть приложение, которое должно отправлять электронные письма. В настоящее время это то, что я использую:

        System.Net.Mail.MailMessage MyMailMessage = new System.Net.Mail.MailMessage();
        MyMailMessage.From = new System.Net.Mail.MailAddress(fromemail.Text);
        MyMailMessage.To.Add(toemail.Text);
        MyMailMessage.Subject = subject.Text;
        MyMailMessage.Body = body.Text;
        System.Net.Mail.SmtpClient SMTPServer = new System.Net.Mail.SmtpClient("smtp.gmail.com");
        SMTPServer.Port = 587;
        SMTPServer.Credentials = new System.Net.NetworkCredential("email", "password");
        SMTPServer.EnableSsl = true;
        SMTPServer.Send(MyMailMessage);

Есть ли простой способ отправить электронное письмо без необходимости входа на сервер? Спасибо.

Ответы [ 4 ]

1 голос
/ 15 декабря 2009

Для этого есть 2 способа:

1) Используйте свой локальный SMTP-сервер (например, один с IIS на сервере Win2003 / 2008) и записывайте сообщения в локальную очередь получения). Это возможно с минимальными изменениями.

2) Вам необходимо разрешить целевой SMTP-сервер. Например, если вы хотите отправить электронное письмо кому-то на msn.com, вам нужно получить запись MX для msn.com, например, что-то вроде mx1.msn.com. Затем вы можете напрямую подключиться к этому SMTP-серверу и отправить свою электронную почту (локальному) получателю. Обратите внимание, что в .NET нет встроенных способов разрешения MX-хоста (в том смысле, что в классе Dns для этого нет методов) - вам нужно сделать это «вручную». Кроме того, большинство узлов SMTP отклоняют подключения с домашних / жилых IP-адресов.

1 голос
/ 15 декабря 2009

SMTP-сервер GMail всегда требует аутентификации. Вам может потребоваться настроить собственный сервер для отправки электронной почты без аутентификации.

1 голос
/ 15 декабря 2009

Настройте SMTP-сервер в вашей локальной сети (за брандмауэром, чтобы не быть источником спама) и используйте его напрямую. Вы можете создать его в IIS.

0 голосов
/ 15 декабря 2009

Вам нужен SMTP-сервер, который не требует аутентификации, однако, чтобы он не был спам-сервером, ему нужен какой-то другой тип защиты, например, брандмауэр.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...