ActionMailer MVC - 在Web配置或C#中设置多个SMTP,电子邮件发件人

时间:2013-09-28 22:40:37

标签: c# asp.net-mvc asp.net-mvc-3 smtp actionmailer.net

我想通过actionmailer MVC为不同的案例使用多个发件人的电子邮件(smtp)。

例如,如果是新用户注册,则确认将与register@example.com电子邮件一起发送。

如果用户与其他用户联系,则发件人电子邮件将为contact@example.com

所以我需要设置3-4 smtp,并在动作管理器中使用它们。到目前为止,webconfig无法支持多个smtp。 THKS

1 个答案:

答案 0 :(得分:1)

MailerBase有一个属性From,可以在C#中设置,具体取决于您使用的逻辑。然后将其与web.config中的<appSettings>结合使用,您可以执行以下操作:

<appSettings>
    <add key="RegistrationFromAddress" value="register@example.com" />
    <add key="ContactFromAddress" value="contact@example.com" />
</appSettings>

然后在您的控制器中

public class MailController : MailerBase
{
    public EmailResult RegisterEmail()
    {
        From = System.Configuration.ConfigurationManager.AppSettings["RegistrationFrom"]; // or ContactFromAddress if you want
    }
}