我正在尝试使用MailMessage class构建传输到SMTP服务器以使用SmtpClient类传递的电子邮件。 我的电子邮件是通过Exchange服务器在outlook上配置的。 关于上述实施,我有以下疑问:
1)Exchange Server和SMTP服务器之间有什么区别?
2)就我而言,我的Outlook使用我的凭据在Exchange服务器上配置。如何找到SMTP地址以便我能够实现MailMessage类?
3)如果上述实施技术不可行,是否有基于交换服务器通过应用程序发送电子邮件的想法?
我正在使用Visual Studio 2008,框架3.5 SP1,使用C#作为语言处理winforms应用程序。请帮我澄清疑惑。
修改
我正在使用以下代码。它不会抛出任何错误,也不会产生任何错误。我试图发送电子邮件给自己,但无济于事
public static void CreateMessageWithAttachment(string server)
{
// Specify the file to be attached and sent.
// This example assumes that a file named Data.xls exists in the
// current working directory.
string file = "data.xls";
// Create a message and set up the recipients.
MailMessage message = new MailMessage(
"ben@contoso.com",
"ben@contoso.com",
"Quarterly data report.",
"See the attached spreadsheet.");
// Create the file attachment for this e-mail message.
Attachment data = new Attachment(file, MediaTypeNames.Application.Octet);
// Add time stamp information for the file.
ContentDisposition disposition = data.ContentDisposition;
disposition.CreationDate = System.IO.File.GetCreationTime(file);
disposition.ModificationDate = System.IO.File.GetLastWriteTime(file);
disposition.ReadDate = System.IO.File.GetLastAccessTime(file);
// Add the file attachment to this e-mail message.
message.Attachments.Add(data);
//Send the message.
SmtpClient client = new SmtpClient(server);
// Add credentials if the SMTP server requires them.
client.Credentials = CredentialCache.DefaultNetworkCredentials;
try {
client.Send(message);
}
catch (Exception ex) {
Console.WriteLine("Exception caught in CreateMessageWithAttachment(): {0}",
ex.ToString() );
}
data.Dispose();
}
答案 0 :(得分:5)
1)Exchange Server和SMTP服务器之间有什么区别?
Exchange服务器包含更多内容。
2)就我而言,我的Outlook使用我的凭据在Exchange服务器上配置。如何找到SMTP地址以便我能够实现MailMessage类?
Outlook - >工具 - >帐户 - >修改帐户。
它与Exchange服务器的地址相同。端口25是标准SMTP端口。 Exchange可能需要身份验证。
3)如果上述实施技术不可行,是否有基于交换服务器通过应用程序发送电子邮件的想法?
您不能只使用MailMessage
,还需要SmtpClient
。
使用Exchange的示例:Getting a sent MailMessage into the "Sent Folder"
答案 1 :(得分:2)
SMTP是一种协议,是一套管理两个系统之间通信的规则。该协议定义了发送邮件的规则。
SMTP服务器是使用此协议发送邮件的组件(主要是软件)。
MS Exchange使用SMTP发送邮件,但它也管理域中用户的用户和邮箱。