我正在构建一个用户创建电子邮件的应用,以及从他的邮件服务器发送电子邮件的位置。我不打算收到任何电子邮件,只是发送它们。我需要访问他的邮件服务器才能这样做,我想知道a)那里有什么样的电子邮件服务器(Exchange,SMTP,POP3 ......)以及用户需要提供什么样的信息(即什么我在DB中需要哪些字段。
如果您知道要避免的任何陷阱,请告诉我。
感谢您的建议。
答案 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)
发送电子邮件很简单,存储和管理方式取决于您:
<强>的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);