如何删除邮件中的[]

时间:2011-08-17 12:57:22

标签: c# system.net.mail

我正在使用System.Net.Mail.MailMessage通过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);

3 个答案:

答案 0 :(得分:2)

要从“Shankar [...]”中提取“Shankar”,您只需使用

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

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

答案 1 :(得分:1)

如果我关注你,那么你可以使用RegEx来提取你需要的字符串,例如:

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

答案 2 :(得分:0)

        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);

我们需要在发件人地址中提供有效的电子邮件ID 它对我有用!!!