在To中使用字符串而不是MailAddress的MailMessage

时间:2018-01-08 15:03:38

标签: c# asp.net

是否可以将邮件消息发送到一个名称'而不是一个电子邮件地址'。

这样的事情:

MailMessage mmsg = new MailMessage();
mmsg.To.Add("Winfrey");

而不是:

MailMessage mmsg = new MailMessage();
mmsg.To.Add(new MailAddress("Winfrey@user.com"));

是否可以在' To'中添加内容。没有' @'和域名?如果是这样,怎么样?

3 个答案:

答案 0 :(得分:4)

MailMessage类不提供此功能。这个班级应该从哪里知道,“Winfrey”后面的邮件地址是什么?
唯一的方法是创建一个简单的地址簿。

然后你可以写这个

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.17.0/jquery.validate.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.17.0/additional-methods.js"></script>

<form id="new-job-form">
  <label for="file">.tsv|.txt|.csv|.psv|.xls|.xlsx|.zip|.7z|.rar  files allowed: </label>
  <input type="file" id="file" name="file">
  <br/>
  <input type="submit" value="Validate!">
</form>

_addressBook 是这里的词典。

mmsg.To.Add(_addressBook["Winfrey"]);


这有帮助吗?

答案 1 :(得分:1)

如果您希望在其他用户收到的电子邮件中查看发件人姓名:

MailMessage mail = new MailMessage();
mail.From = new MailAddress("winfrey@user.com", "winfrey" );

它将显示名称Winfrey。

答案 2 :(得分:1)

System.Net.Mail不会验证您要发送到的电子邮件。 MailMessage.To仅接受电子邮件地址。 See this!