【问题标题】:how to remove [ ] in the mailer如何删除邮件中的 [ ]
【发布时间】:2011-08-17 12:57:21
【问题描述】:

我正在使用 System.Net.Mail.MailMessage thro C# 发送电子邮件。 问题是,如果发件人的姓名不同且凭据不同,则显示为 shankar[admin@mydomain.com] 我需要删除这组括号 []。

帮帮我... 下面是我的编码。

        System.Net.Mail.MailMessage oMail = new System.Net.Mail.MailMessage();
        System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient();
        oMail.From = new System.Net.Mail.MailAddress("admin@mydomain.com", "shankar123");
        oMail.To.Add(TextBox1.Text.Trim());
        oMail.Subject = "Subject*";
        oMail.Body = "Body*";
        oMail.IsBodyHtml = true;
        smtp.Host = "smtp.sendgrid.net";
        System.Net.NetworkCredential cred = new System.Net.NetworkCredential("myusername", "mypassword");
        smtp.UseDefaultCredentials = false;
        smtp.Credentials = cred;
        smtp.Send(oMail);

【问题讨论】:

  • 你能再澄清一下吗?我没有跟着你。我们是来帮忙的。看了几遍还是没看懂。
  • 当用户收到电子邮件时...。发件人地址显示 Shankar[admin@contentraven.com]...但我只需要 Shankar 的名字
  • 它不取决于电子邮件客户端如何显示名称/地址,您没有任何控制权吗?
  • 这不在你的控制范围内。这是由收到电子邮件的人使用的邮件客户端程序完成的。
  • 您意识到这就是电子邮件的工作原理,对吧?消息必须来自电子邮件地址,并且邮件客户端将显示该地址。您可以使用虚假或匿名地址,但许多电子邮件系统不会接受,除非至少域有效。

标签: c# system.net.mail


【解决方案1】:

要从“Shankar[...]”中提取“Shankar”,您可以简单地使用

string address = "Shankar[admin@contentraven.com]";
string name = address.Substring(0, address.IndexOf('[') - 1);
// here, name contains "Shankar"

如果您要向您的用户发送电子邮件,并希望他们的电子邮件客户端不显示您的地址:这是不可能的。

【讨论】:

  • +1 比我的回答简单。我只是使用正则表达式,以防邮件使用 而不是 []。
【解决方案2】:

如果我在关注你,那么你可以使用正则表达式来提取你需要的字符串,例如:

using System;
using System.Text.RegularExpressions;

namespace ConsoleApplication1
{
  class Program
  {
    static void Main(string[] args)
    {
      string txt="Shankar[admin@contentraven.com]";

      string re1="((?:[a-z][a-z0-9_]*))";   // Variable Name 1

      Regex r = new Regex(re1,RegexOptions.IgnoreCase|RegexOptions.Singleline);
      Match m = r.Match(txt);
      if (m.Success)
      {
            String var1=m.Groups[1].ToString();
            Console.Write(var1.ToString()+"\n");
      }
      Console.ReadLine();
    }
  }
}

输出:

Shankar

【讨论】:

    【解决方案3】:
            System.Net.Mail.MailMessage oMail = new System.Net.Mail.MailMessage();
            System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient();
            oMail.From = new System.Net.Mail.MailAddress("one@gmail.com");
            oMail.To.Add(TextBox1.Text.Trim());
            oMail.Subject = "Subject*";
            oMail.Body = "Body*";
            oMail.IsBodyHtml = true;
            smtp.Host = "smtp.sendgrid.net";
            System.Net.NetworkCredential cred = new  System.Net.NetworkCredential cred = new System.Net.NetworkCredential("myusername", "mypassword");
            smtp.UseDefaultCredentials = false;
            smtp.Credentials = cred;
            smtp.Send(oMail);
    

    我们需要在 From 地址中提供一个有效的 EmailId 它对我有用!!!

    【讨论】:

      猜你喜欢
      • 2013-04-27
      • 2012-09-27
      • 2021-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多