触点形式;ASP.净,c#
本文关键字:ASP 触点 | 更新日期: 2023-09-27 18:03:21
这应该很简单,但有些东西我没有得到。用户填写信息,btnClick执行代码。
我认为msgToAdd应该是电子邮件的收件人。(测试作为我的电子邮件)
并且msgFromAdd将是消息的来源,这是由浏览者输入的。(测试作为我妻子的电子邮件)
然后是我在电子邮件/密码中输入的凭证。(实际上,任何"我的"东西都是x公司的。所以我需要在公司的电子邮件密码编码?: -/)
无论如何,我成功地向我的地址发送了电子邮件,但它说它来自我的地址,我需要它来自用户输入的任何地址。
我到处都找过了,但是所有的代码都是一样的,对我来说没有任何意义。谢谢。
SmtpClient smtpClient = new SmtpClient();
MailMessage mailMsg = new MailMessage();
MailAddress msgToAdd = new MailAddress("myemail@gmail.com");
MailAddress msgFromAdd = new MailAddress(tbxEmailAdd.Text);
mailMsg.To.Add(msgToAdd);
mailMsg.From = msgFromAdd;
mailMsg.Subject = ddlEmail.SelectedValue;
mailMsg.IsBodyHtml = true;
mailMsg.Body = tbxEmail.Text;
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.Credentials = new System.Net.NetworkCredential("myemail@gmail.com", "mypassword");
smtp.EnableSsl = true;
smtp.Port = 587;
smtp.EnableSsl = true;
smtp.Send(mailMsg);
因此,即使有下面的夸张,它仍然没有显示真正的发件人地址。
MailAddress msgFromAdd = new MailAddress(tbxEmailAdd.Text);
mailMsg.From = msgFromAdd;
mailMsg.ReplyToList.Add(msgFromAdd);
mailMsg.ReplyTo = msgFromAdd;
mailMsg.Sender = msgFromAdd;
同样,下面的代码也会显示该名称。仍然没有电子邮件地址!
MailAddress msgFromAdd = new MailAddress(tbxEmailAdd.Text, "NAME");
我真的要疯了
听起来谷歌不让你乱动"from"页眉?你可能想尝试使用"Sender"属性,但它并不总是在所有的电子邮件客户端中都显示得很好。
MailMessage, Sender和From属性的区别
我会检查你的网页。配置(如果有的话)。可能有如下设置:
<system.net>
<mailSettings>
<smtp from="your address here">
<network host="localhost" password="" userName=""/>
</smtp>
</mailSettings>
</system.net>
您正在使用SMTP凭据发送电子邮件,因此"from"应该是您的电子邮件。MailMessage中的"From"属性只是一个可选的选项,以防您使用的是不需要凭据的开放smtp。