C# 更改MailMessage中的名称

C# 更改MailMessage中的名称,c#,asp.net,C#,Asp.net,我正在使用C#MailMessage发送电子邮件,我有一个电子邮件地址,用于发送电子邮件,这将修复所有电子邮件,我想更改发件人姓名, 下面是我的代码: MailMessage emailmsg = new MailMessage("abc@gmail.com", "toemail@gmail.com"); 这里是我注册时提供的名字“abc@gmail.com". 我怎样才能改变这个名字?因为这个名字每次都不一样。 是否可以更改发件人的姓名? 我已经看过MailMessage的文档,但是我找不到

我正在使用C#MailMessage发送电子邮件,我有一个电子邮件地址,用于发送电子邮件,这将修复所有电子邮件,我想更改发件人姓名, 下面是我的代码:

MailMessage emailmsg = new MailMessage("abc@gmail.com", "toemail@gmail.com");
这里是我注册时提供的名字“abc@gmail.com". 我怎样才能改变这个名字?因为这个名字每次都不一样。 是否可以更改发件人的姓名? 我已经看过MailMessage的文档,但是我找不到任何可以更改发件人姓名的属性

我尝试过像这样使用mailmessage MailAddress构造函数

MailMessage emailmsg = new MailMessage();
            emailmsg.To = new MailAddress("toemail@gmail.com");
            emailmsg.From = new MailAddress("abc@gmail.com", "MyName");
它的给出错误

Property or indexer MailMessage.To is readonly
使用
MailMessage
的构造函数,它接受实例而不是电子邮件地址,这将允许您使用显示名称创建新的邮件地址

var sender = new MailAddress("toemail@gmail.com", "Sender");
var recipient = new MailAddress("abc@gmail.com", "Recipient");
var msg = new MailMessage(sender, recipient);

请尝试接受两个
MailAddress
实例的构造函数重载。您的错误是因为
To
/
From
属性是
只读的
-它们需要在构造函数级别传入(请参阅我的答案)。它给出了一个异常“发件人签名未为发件人地址定义”@SyedSalmanRazaZaidi这听起来像是您的邮件服务器出现问题,而不是此代码。这不是outlook office 365电子邮件MailAddress mailFrom=新邮件地址(“sender@xyz.com“,”发件人姓名“);这将使用用户名automatically@KumarV这很可能是O365不允许或未配置使用显示名称的问题。