我正在建立一个在线系统,我有多个客户,我的客户有多个联系人。现在我希望我的客户能够向他的联系人发送电子邮件,因此当他的联系人收到电子邮件时,他们会在现场看到他的公司名称和电子邮件地址来自: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
答案 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”的评论。确保您了解所有参数含义。