我打算开发一个网站,帮助发送电子邮件到许多电子邮件地址。该站点允许用户注册帐户。用户添加他的电子邮件地址后(例如:abc @ gmail.com,abc @ xxx.com),他可以创建他想要发送的电子邮件列表。然后他点击发送,电子邮件将发送给列表中的人。
所以问题是我需要一步来配置他的电子邮件信息吗?我的意思是他可以进入smtp服务器,端口......用于他的电子邮件。例如:他使用gmail - > abc@gmail.com。他需要输入
Google Gmail接收邮件服务器(POP3) - pop.gmail.com(启用SSL,端口995) 发送邮件服务器 - 使用本地ISP提供的SMTP邮件服务器地址或smtp.gmail.com(启用TLS,端口587)
答案 0 :(得分:2)
它无效。
1)许多用户不知道他们的电子邮件服务器详细信息。
2)许多邮件服务器不接受来自非域内IP的外发邮件。
答案 1 :(得分:0)
您可以在与Web服务器相同的服务器上安装/启用SMTP服务器。提供用户可以输入的页面。地址。从您的服务器发送电子邮件,但“欺骗”“来自”电子邮件ID。这样,用户无需输入其电子邮件服务器详细信息。
public void SendEmailAsync(string id, string to, string from, string subject, string message, SendCompletedEventHandler callback)
{
// Command line argument must the the SMTP host.
var client = new SmtpClient(ConfigurationManager.AppSettings["SmtpServer"]);
if (bool.Parse(ConfigurationManager.AppSettings["PickupDirectoryFromIis"]))
{
client.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;
}
// Specify the message content.
var message = new MailMessage(from, to)
{
Subject = subject,
Body = message,
BodyEncoding = Encoding.UTF8,
SubjectEncoding = Encoding.UTF8
};
client.SendCompleted += callback;
try
{
client.SendAsync(message, id);
}
catch (SmtpException e)
{
this.EventLog.WriteEntry(e.ToString(), EventLogEntryType.Error);
}
}