c#发送邮件控制台程序
时间: 2023-11-22 15:49:05 浏览: 39
以下是一个使用C#编写的控制台程序,用于发送邮件:
```csharp
using System;
using System.Net;
using System.Net.Mail;
class Program
{
static void Main(string[] args)
{
// 设置邮件服务器
string smtpServer = args[0];
int smtpPort = 25;
SmtpClient client = new SmtpClient(smtpServer, smtpPort);
// 设置发件人
string from = args[1];
string displayName = args[2];
MailAddress fromAddress = new MailAddress(from, displayName);
// 设置收件人
string to = args[3];
MailAddress toAddress = new MailAddress(to);
// 创建邮件对象
MailMessage message = new MailMessage(fromAddress, toAddress);
// 设置抄送和密送
if (args.Length > 4)
{
string[] cc = args[4].Split(',');
foreach (string c in cc)
{
message.CC.Add(c);
}
}
if (args.Length > 5)
{
string[] bcc = args[5].Split(',');
foreach (string b in bcc)
{
message.Bcc.Add(b);
}
}
// 设置主题和内容
message.Subject = args[6];
message.Body = args[7];
// 添加附件
if (args.Length > 8)
{
string[] attachments = args[8].Split(',');
foreach (string attachment in attachments)
{
Attachment file = new Attachment(attachment);
message.Attachments.Add(file);
}
}
// 发送邮件
client.Send(message);
Console.WriteLine("邮件发送成功!");
}
}
```
在命令行中输入以下命令即可发送邮件:
```
SendMail 邮件服务器IP 发件人 显示名称 收件人 抄送 密送 主题 内容 文件
```
其中,邮件服务器IP、发件人、显示名称、收件人、主题和内容是必填项,抄送、密送和文件是可选项。如果有多个收件人、抄送或密送,可以用逗号分隔。如果有多个文件,也可以用逗号分隔。