C# 我怎样才能更改“的”;从「;没有未经身份验证的SMTP服务器的电子邮件地址?

C# 我怎样才能更改“的”;从「;没有未经身份验证的SMTP服务器的电子邮件地址?,c#,.net,visual-studio,email,smtp,C#,.net,Visual Studio,Email,Smtp,全部, 我正在编写一个应用程序,允许客户直接从桌面提交支持票证。也就是说,我希望“发件人”电子邮件地址成为他们的电子邮件地址 我目前拥有以下代码: public void SendTicketEmail() { try { string tEmail = materialListView1.SelectedItems[0].SubItems[1].Text; string tPhone = materialL

全部,

我正在编写一个应用程序,允许客户直接从桌面提交支持票证。也就是说,我希望“发件人”电子邮件地址成为他们的电子邮件地址

我目前拥有以下代码:

public void SendTicketEmail()
    {
        try
        {
            string tEmail = materialListView1.SelectedItems[0].SubItems[1].Text;
            string tPhone = materialListView1.SelectedItems[0].SubItems[2].Text;
            string tUser = materialListView1.SelectedItems[0].Text;

            MailMessage mail = new MailMessage(tEmail, "my email");
            SmtpClient client = new SmtpClient();
            client.Port = 25;
            client.DeliveryMethod = SmtpDeliveryMethod.Network;
            client.UseDefaultCredentials = false;
            client.Host = "smtp.simplifymsp.com";
            mail.Subject = "this is a test email.";
            mail.Body = "this is my test email body";
            client.Send(mail);
        }

        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
            return;
        }
    }
mail.From = new MailAddress("me@me.com", "customer@customer.com");
我假设此时我的解决方案是请求我的托管服务启用一个选项,允许smtp发送电子邮件,而无需在指定端口上进行身份验证

这里的另一种选择是让每个客户的所有支持电子邮件来自我的一个预设电子邮件地址,并在主题中包含客户ID,然后在我的帮助台票务系统中为每个客户创建一个工作流,将客户信息分配给该票务。这比我想做的还要多,尤其是在缩放时


提前感谢您。

无论如何,我只是简单地解决了这个问题。FreshService(我用于票务系统的网站)对以下代码反应良好:

public void SendTicketEmail()
    {
        try
        {
            string tEmail = materialListView1.SelectedItems[0].SubItems[1].Text;
            string tPhone = materialListView1.SelectedItems[0].SubItems[2].Text;
            string tUser = materialListView1.SelectedItems[0].Text;

            MailMessage mail = new MailMessage(tEmail, "my email");
            SmtpClient client = new SmtpClient();
            client.Port = 25;
            client.DeliveryMethod = SmtpDeliveryMethod.Network;
            client.UseDefaultCredentials = false;
            client.Host = "smtp.simplifymsp.com";
            mail.Subject = "this is a test email.";
            mail.Body = "this is my test email body";
            client.Send(mail);
        }

        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
            return;
        }
    }
mail.From = new MailAddress("me@me.com", "customer@customer.com");
即使电子邮件来自“me@me.com,“FreshService仍然像读顾客的票一样读着票。工作得很漂亮


感谢大家抽出时间。

这是您的应用程序,正在为您的系统创建票证。与其在桌面应用程序中分发SMTP凭据(这很容易被滥用),为什么不创建一个Web服务来直接在您的系统中添加票证,这样您就可以在他们需要的地方包含信息呢?这在理论上是一个好主意,但在实践中并不多。该系统不是由我创建的(我为帮助台票务系统付费),而且它与第三方应用程序的集成也不好。FreshService有API。此外,考虑到一些ISP阻止所有SMTP除外。这是你的问题,但在你的鞋子,我不确定我会解决这个问题,因为你不能只是回复这些消息。但我认为另一种选择是运行自己的邮件服务器,这对胆小的人来说不是一种努力。不管出于什么原因,FreshService看到来自客户电子邮件地址的电子邮件,所以我可以实际回复。这件事很奇怪,但我接受了。