Отправка электронной почты с компьютера в сети - .NET 4.0 - PullRequest
0 голосов
/ 20 июля 2011

Я пытаюсь создать небольшое настольное приложение, которое рассылает электронные письма людям в офисе (все внутреннее).Мое приложение будет работать на ПК, который также находится в сети, и у пользователя будет работать Outlook для его собственных электронных писем.

Я смотрю на несколько примеров, где вам нужен SmtpClient и он должен равнятьсяхозяин.Можно ли просто настроить его на использование локальной машины?

                MailMessage mailObj = new MailMessage("admin@network.com",
                reader["recipientAddress"].ToString(), "Subject", "Body");
                SmtpClient SMTPServer = new SmtpClient("127.0.0.1");
                SMTPServer.Send(mailObj);

Я прочитал, что 127.0.0.1 - это локальная машина.Будет ли это работать, или есть другой способ сделать это?

Также мои сообщения будут отправлены, если он отправит сообщение на внешний адрес электронной почты?

1 Ответ

1 голос
/ 20 июля 2011

Вы должны установить SMTP-сервер на вашем локальном хосте, чтобы иметь возможность отправлять почту.

Outlook получает электронную почту только через POP3 или IMAP и т. Д.

редактировать: т.е. вам нужно

  1. некоторый сервер, который принимает почту через SMTP от вашего клиента и пересылает ее по назначению;и
  2. некоторый сервер, который принимает почту (обычно через SMTP) и сохраняет ее в почтовом ящике, так что люди могут получить ее позже через POP3 или IMAP или любым другим способом.

Почта вашей компанииОбычно сервер должен выполнять оба действия.


edit2:

Возможно, вы сможете обмануть и использовать SMTPClient для прямой доставки почты на сервер почтовых ящиков получателя.

Попробуйте найти MX-запись (см. Как получить mx-записи для имени DNS с помощью System.Net.DNS? ) и создайте SMTPClient непосредственно для лучшего возвращенного MX-сервера.

Если Microsoft внедрила достаточное количество спецификации SMTP и ваш хост не рассматривается как рассылка спама, почта должна пройти.

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