使用多个字段从MVC C#发送电子邮件

时间:2012-07-18 00:26:54

标签: c# asp.net-mvc asp.net-mvc-4 mvcmailer

我正在建立一个在线系统,我有多个客户,我的客户有多个联系人。现在我希望我的客户能够向他的联系人发送电子邮件,因此当他的联系人收到电子邮件时,他们会在现场看到他的公司名称和电子邮件地址来自:abc@abc.com& ABC公司。

我正在使用MVCMailer发送完美的电子邮件但是当我收到测试电子邮件时,而不是我的客户端(TO和NAME)中的电子邮件地址,它显示我在web.config文件中配置的电子邮件。如何更改发件人地址,以便我的客户的联系人可以看到他的电子邮件地址不是我的?

==========================

   <system.net>
     <mailSettings>
      <!-- Method#1: Configure smtp server credentials -->
     <smtp from="xyz@xyz.com">
    <network enableSsl="true" host="smtp.xyz.com" port="587" userName="xyz@xyz.com" password="ABC" />
  </smtp>
  <!-- Method#2: Dump emails to a local directory -->
  <!--
  <smtp from="some-email@gmail.com" deliveryMethod="SpecifiedPickupDirectory">
    <network host="localhost" />
    <specifiedPickupDirectory pickupDirectoryLocation="c:\temp\"/>
  </smtp>
  -->
</mailSettings>

=======================================

这是我在C#class

中使用的代码
   var mailMessage = new MailMessage { Subject = eSubject };
        mailMessage.To.Add(Email);
        mailMessage.Bcc.Add("xyz@xyz.com");
        mailMessage.ReplyToList.Add( new MailAddress(From, ContactPerson));
        mailMessage.Sender = new MailAddress("xyz@xyz.com", ContactPerson);

        //mailMessage.To.Add("some-email@example.com");
        //ViewBag.Data = someObject;
        ViewData = new ViewDataDictionary(obj);


        SmtpClient smtp = new SmtpClient("192.168.1.2",25);
        smtp.Credentials = new NetworkCredential("xyz@xyz.com", "test");

        smtp.Send("xyz@xyz.com","xyz@xyz.com","test","test");
        PopulateBody(mailMessage, viewName, null);


        SmtpClient smtp = new SmtpClient("192.168.1.2",25);
        smtp.Credentials = new NetworkCredential("xyz@xyz.com", "test");

        //smtp.Send("xyz@xyz.com","xyz@xyz.com","test","test");
        PopulateBody(mailMessage, viewName, null);

        return mailMessage;

========================

请告诉我如何解决这个问题,甚至是否可以使用mvc c#?

Riyasat

1 个答案:

答案 0 :(得分:0)

看看你的代码:

mailMessage.Sender = new MailAddress("xyz@xyz.com", ContactPerson);

smtp.Send("xyz@xyz.com","xyz@xyz.com","test","test");

我觉得你到处都告诉MvcMailer你的寄件人是“xyz@xyz.com”。我想在这里您应该更改为您的客户电子邮件和姓名。
顺便说一句,检查“smtp.Send”的评论。确保您了解所有参数含义。