2

コード内のfrom電子メールアドレスを変更してweb.config設定を上書きする方法を知っている人はいますか?

私がやろうとしているのは、誰かがオンラインフォームに記入できるようにすることです。受信者がメールを受信すると、送信者のメールアドレスから送信されます。

しかし、その瞬間、web.configにデフォルトが表示されているだけです。

----------------- Web.config -------------------------

<smtp from="some-email@gmail.com" deliveryMethod="SpecifiedPickupDirectory">
                <network host="localhost" />
                <specifiedPickupDirectory pickupDirectoryLocation="c:\temp\"/>
            </smtp>

public virtual MvcMailMessage DirectotyEmail(string emailTo, string fromName, string arrivalDate, string departureDate, string message)
            {
            ViewBag.FromName        = fromName;
            ViewBag.ArrivalDate     = arrivalDate;
            ViewBag.DepartureDate   = departureDate;
            ViewBag.Message         = message;
            return Populate(x =>
            {
                x.Subject = "Accommodation Enquery form";
                x.ViewName = "DirectoryEmail";
                x.To.Add(emailTo.ToString());
                //x.From.Address("test@email.com");
                x.IsBodyHtml = true;
            });
            }

X-Sender: some-email@gmail.com << Need this to be the email that user entered when submitting form
X-Receiver: test@mail.com
MIME-Version: 1.0
From: some-email@gmail.com << Need this to be the email that user entered when submitting form
To: test@mail.com
Date: 26 Mar 2013 11:08:57 +0000
Subject: Accommodation Enquery form
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: quoted-printable
4

1 に答える 1

4

送信者に提供されたWeb構成をプロパティでオーバーライドし、差出人SenderアドレスをプロパティでオーバーライドできますFrom。両方のプロパティはオブジェクトを期待しているMailAddressため、次のように記述する必要があります。

return Populate(x =>
{
    x.Subject = "Accommodation Enquery form";
    x.ViewName = "DirectoryEmail";
    x.To.Add(emailTo.ToString());
    x.From = new MailAddress("test@email.com");
    x.Sender = new MailAddress("test@email.com");
    x.IsBodyHtml = true;
});
于 2013-03-26T11:38:52.690 に答える