[英]Sending email problem in C#
我创建了一个C#应用程序,该应用程序使用gmail
不同电子邮件地址发送邮件,但是尽管从不同的电子邮件地址发送了邮件,但我想在每当有用户收到电子邮件时,在“发件人”标头中显示一个特定的指定电子邮件地址。希望用户在该特定的指定电子邮件地址上进行回复。
我可以知道该怎么做吗?
StringBuilder builder = new StringBuilder();
for (int j = i; j < (i + quantity) && j < EmailArr.Length; j++)
{
//Add new sender email address
builder.Append(EmailArr[j] + ",");
}
builder.Remove(builder.Length - 1, 1);
btnSend.Text = "Wait...";
this.Enabled = false;
MailMessage mailMsg = new MailMessage();
MailAddress mailAdd = new MailAddress(username);
mailMsg.From = mailAdd;
mailMsg.Bcc.Add(builder.ToString());
mailMsg.Subject = txtSubject.Text;
mailMsg.Body = txtBody.Text;
mailMsg.IsBodyHtml = chkHtmlBody.Checked;
if (System.IO.File.Exists(txtAttechments.Text))
{
System.Net.Mail.Attachment attechment = new
Attachment(txtAttechments.Text);
mailMsg.Attachments.Add(attechment);
}
SmtpClient client = new SmtpClient();
client.Port = 587;
client.Host = "smtp.gmail.com";
client.EnableSsl = true;
client.Credentials = new System.Net.NetworkCredential(username, password);
client.Send(mailMsg);
您可以使用此代码
using System.Net.Mail;
using System.Net;
var fromAddress = new MailAddress("from@gmail.com", "From Name");
var toAddress = new MailAddress("to@yahoo.com", "To Name");
const string fromPassword = "password";
const string subject = "test";
const string body = "Hey now!!";
var smtp = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
Credentials = new NetworkCredential(fromAddress.Address, fromPassword),
Timeout = 20000
};
using (var message = new MailMessage(fromAddress, toAddress)
{
Subject = subject,
Body = body
})
{
smtp.Send(message);
}
只需输入您想要的发件人地址。 请注意,某些邮件服务器可能不允许您设置发件人地址,该地址不能反映该服务器上的有效帐户。
我不确定您要做什么,但您可能还想看看Sender属性。
但是,根据确切的问题,由于GMail的工作方式,这可能也是一个问题。 我有一些记忆,必须做一些设置来摆脱from字段中显示的某种“代表发送”的文本,但是如果这是问题所在,那么这个问题可能更适合于SuperUser。 com 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.