0

我正在使用 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);
4

3 回答 3

2

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

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

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

于 2011-08-17T13:07:56.123 回答
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
于 2011-08-17T13:03:38.977 回答
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);

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

于 2011-08-17T14:52:10.787 回答