我正在尝试一次向一百多人发送带有附件的电子邮件,并且我发现非常好的源代码可以完美地与附件一起使用,但不能一次向多个人发送邮件。
所以现在我的问题是:你能帮我修改现有代码以使其工作吗?
编程语言:C#
这是代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Mail;
namespace ConsoleApplication3
{
public class GmailAccount
{
public string Username;
public string Password;
public string DisplayName;
public string Address
{
get
{
return Username + "@gmail.com";
}
}
private SmtpClient client;
public GmailAccount(string username, string password, string displayName = null)
{
Username = username;
Password = password;
DisplayName = displayName;
client = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential(Address, password)
};
}
public void SendMessage(string targetAddress, string subject, string body, params string[] files)
{
MailMessage message = new MailMessage(new MailAddress(Address, DisplayName), new MailAddress(targetAddress))
{
Subject = subject,
Body = body
};
foreach (string file in files)
{
Attachment attachment = new Attachment(file);
message.Attachments.Add(attachment);
}
client.Send(message);
}
}
class Program
{
static void Main(string[] args)
{
GmailAccount acc = new GmailAccount("username", "password", "Caption");
acc.SendMessage("some.person@gmail.com", "Hello World!", "like in the title...", "C:\\temp.rar");
}
}
}