触点形式;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");

我真的要疯了

触点形式;ASP.净,c#

听起来谷歌不让你乱动"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。