0

我要开发一个网站,帮助向许多电子邮件地址发送电子邮件。本网站允许用户注册帐户。用户添加他的电子邮件地址后(例如:abc@gmail.com、abc@xxx.com),他可以创建他要发送的电子邮件列表。然后他单击发送,电子邮件将发送给列表中的人。

所以问题是我需要一个步骤来配置他的电子邮件信息吗?我的意思是他可以进入 smtp 服务器、端口……为他的电子邮件。例如:他使用 gmail -> abc@gmail.com。他需要输入

Google Gmail 接收邮件服务器 (POP3) - pop.gmail.com(启用 SSL,端口 995) 发送邮件服务器 - 使用本地 ISP 或 smtp.gmail.com 提供的 SMTP 邮件服务器地址(启用 TLS,端口 587)

4

2 回答 2

2

它行不通。

1) 许多用户不知道他们的电子邮件服务器详细信息。

2) 许多邮件服务器不会接受来自不在其域中的 IP 的传出邮件。

于 2012-07-06T03:06:13.557 回答
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);
        }
    }
于 2012-07-06T03:38:20.623 回答