我需要从他的邮件服务器发送电子邮件的用户信息

时间:2011-10-25 03:54:46

标签: asp.net email

我正在构建一个用户创建电子邮件的应用,以及从他的邮件服务器发送电子邮件的位置。我不打算收到任何电子邮件,只是发送它们。我需要访问他的邮件服务器才能这样做,我想知道a)那里有什么样的电子邮件服务器(Exchange,SMTP,POP3 ......)以及用户需要提供什么样的信息(即什么我在DB中需要哪些字段。

如果您知道要避免的任何陷阱,请告诉我。

感谢您的建议。

2 个答案:

答案 0 :(得分:1)

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() );              
}

以上示例几乎是逐字逐句,from here.

答案 1 :(得分:0)

发送电子邮件很简单,存储和管理方式取决于您:

Sending Email in 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);