.net 邮件发送附件的问题

2025-04-25 07:40:08
推荐回答(1个)
回答1:

正好手头上有个gmail发送邮件的代码,给你参考下吧,拷贝即可用

var fromAddress = new MailAddress("sender@gmail.com", "发件人");
var toAddress = new MailAddress("receiver@gmail.com", "收件人");
const string fromPassword = "发件人密码";
const string subject = "邮件名";
string body = "邮件内容";

var smtp = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential(fromAddress.Address, fromPassword)
};
using (var message = new MailMessage(fromAddress, toAddress)
{
Subject = subject,
Body = body
})
{
smtp.Send(message);
}

下面代码是发送邮件带附件
const string Sender = "sender@gmail.com";
const string SenderName = "发件人姓名";
const string SenderPassword = "发件人密码";

public static void Send(string subject, string body, List filePaths)
{
var fromAddress = new MailAddress(Sender, SenderName);
var toAddress = new MailAddress("receiver@gmail.com", "收件人姓名");

var smtp = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential(fromAddress.Address, SenderPassword),
Timeout = int.MaxValue
};

using (var message = new MailMessage(fromAddress, toAddress) { Subject = subject, Body = body })
{
foreach (var file in filePaths)
message.Attachments.Add(file);
smtp.Send(message);
}
}