发布网友
共2个回答
热心网友
正好手头上有个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<string> 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);
}
}追问1.我想要的不是把文件发出去,而是生成一个图片的文件流,直接把这个流发出去,中间没有文件这一环节的。
2.如果说要把这个流保存成一个文件,然后再把这个文件发出去,这是可以的!只不过发送完成后要把这个文件删除,这就多了好几个步骤,导致系统现在比较慢!
热心网友
附件本身是不支持流形式的文件的。所以请转化为文件,然后把文件加在附件中