要正确获取邮件地址,我们需要看每个语句对应的属性和它们通常包含的信息。 1. `mail.Body.ToString`:这个通常用来获取邮件的正文内容,它会返回邮件的正文文本,不是邮件地址。 2. `mail.From.ToString`:这个通常用来获取发件人的电子邮件地址。如果`mail.From`是一个有效的`MailAddress`对象,那么调用它的`ToString`方法应该返回发件人的电子邮件地址。 3. `mail.To.ToString`:这个通常用来获取收件人的电子邮件地址。但需要注意的是,`mail.To`可能是一个`MailAddressCollection`对象,它包含多个收件人地址。直接调用`ToString`可能不会返回所有地址,而是返回这个集合的默认字符串表示形式。要获取每个收件人的地址,你可能需要遍历这个集合。 4. `mail.Headers.ToString`:这个用来获取邮件头的所有字段和值。它不会直接返回邮件地址,而是包含各种关于邮件的元数据,如发件人、收件人、主题等。 基于上述分析,如果你想要获取发件人的邮件地址,那么`mail.From.ToString`是最有可能正确返回你所需信息的语句。但要确保`mail`对象中的`From`属性已经被正确设置为一个`MailAddress`对象。 如果你想要获取收件人的邮件地址,你需要遍历`mail.To`集合,并分别调用每个`MailAddress`对象的`ToString`方法。例如: ```csharp foreach (MailAddress address in mail.To) { string toAddress = address.ToString(); // 处理toAddress... } ``` 这样你就可以获取到所有收件人的邮件地址了。