2011-08-17 29 views
0

我使用System.Net.Mail.MailMessage thro C#发送电子邮件。 问题是如果发件人的名称不同,证书不同,它显示为像shankar [[email protected]] 我需要删除此设置括号[]。如何删除邮件中的[]

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

 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("[email protected]", "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); 
+0

你可以尝试澄清这一点吗?我没有跟着你。我们在这里提供帮助。我已经读了几次,我不明白。 – 2011-08-17 12:59:20

+0

当用户收到一封电子邮件....发件人地址显示Shankar [[email protected]] ...但我只需要名称Shankar –

+0

它不取决于电子邮件客户端如何显示名称/地址,至极你没有任何控制权? – Johnny5

回答

2

要提取 “桑卡”从“Shankar [...]”,你可以简单地使用

string address = "Shankar[[email protected]]"; 
string name = address.Substring(0, address.IndexOf('[') - 1); 
// here, name contains "Shankar" 

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

+0

+1比我的答案简单。我只是使用正则表达式来防止邮件程序使用<>而不是[]。 – 2011-08-17 13:21:11

1

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

using System; 
using System.Text.RegularExpressions; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
    static void Main(string[] args) 
    { 
     string txt="Shankar[[email protected]]"; 

     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 
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("[email protected]"); 
     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); 

我们需要从地址 它的工作原理GUD为我提供了一个有效的EMAILID!

相关问题