какую информацию пользователя мне нужно, чтобы отправить письмо со своего почтового сервера - PullRequest
1 голос
/ 25 октября 2011

Я создаю приложение, в котором пользователь создает электронную почту и куда электронная почта отправляется со своего почтового сервера. Я не ищу никаких писем, просто чтобы отправить их. Для этого мне нужно получить доступ к его почтовому серверу, и мне интересно a), какие существуют почтовые серверы (Exchange, SMTP, POP3 ...) и какую информацию пользователь должен предоставить мне (т.е. что поля мне нужны в БД).

Если вы знаете о каких-либо ловушках, которых следует избегать, пожалуйста, дайте мне знать.

Спасибо за ваши предложения.

Ответы [ 2 ]

1 голос
/ 25 октября 2011

SMTP и POP3 являются протоколами, а не почтовыми серверами.

Если я правильно понимаю, вам необходимо подключиться к различным почтовым серверам на основе клиента, который создает электронную почту, для отправки электронной почты через его / ее почтовый сервер (?)

Если это так, вам необходимо для каждого вашего клиента выяснить IP-адрес своего почтового сервера и тип аутентификации, шифрования и т. Д., Который они поддерживают. После того, как вы это установили, вам необходимо подключиться к каждому серверу на основе определенных учетных данных, предоставленных вашим клиентом, и отправить электронное письмо через их SMTP-сервер. Пример:

// Create a message and set up the recipients.
MailMessage message = new MailMessage(
   "jane@contoso.com",
   "ben@contoso.com",
   "Quarterly data report.",
   "Hello, test email!.");


//Send the message.
SmtpClient client = new SmtpClient(server);
// Add credentials if the SMTP server requires them.
            // YOU NEED TO CHANGE THIS PART DEPENDING ON THE SPECIFICS OF THE
            //SMTP SERVER THAT YOU WILL BE USING
client.Credentials = CredentialCache.DefaultNetworkCredentials;

try {
  client.Send(message);
}
catch (Exception ex) {
  Console.WriteLine("Exception caught in CreateMessageWithAttachment(): {0}", 
        ex.ToString() );              
}

Приведенный выше пример был взят почти дословно, отсюда.

0 голосов
/ 25 октября 2011

Отправка электронной почты проста, как вы храните и управляете, это зависит от вас:

Отправка электронной почты в ASP.NET 2.0

web.config:

  <system.net>
    <mailSettings>
      <smtp>
        <network 
             host="relayServerHostname" 
             port="portNumber"
             userName="username"
             password="password" />
      </smtp>
    </mailSettings>
  </system.net>

Код:

MailMessage mail = new MailMessage(from, to, subject, message);
mail.IsBodyHtml = true;
SmtpClient client = new SmtpClient(); //used config settings
client.Send(mail);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...