C# C语言中的电子邮件发送问题#

C# C语言中的电子邮件发送问题#,c#,.net,email,gmail,C#,.net,Email,Gmail,我创建了一个C#应用程序,它在gmail中使用不同的电子邮件地址发送邮件,但尽管从不同的电子邮件地址发送邮件,我还是想在“发件人”中显示一个特定的指定电子邮件地址每当任何用户收到电子邮件,并且我希望该用户在该特定指定电子邮件地址上的回复时,标题。 我可以知道怎么做吗 StringBuilder builder = new StringBuilder(); for (int j = i; j < (i + quantity) && j < EmailArr.Length; j++) {

我创建了一个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);
StringBuilder=新建StringBuilder();
对于(int j=i;j<(i+数量)和&j
只需输入所需的发件人地址即可。请注意,某些邮件服务器可能不允许您设置不反映该服务器上有效帐户的发件人地址。

我不清楚您到底想做什么,但您可能还想查看该属性

然而,根据具体问题的不同,这也可能是一个问题,因为GMail是如何工作的。我有一些记忆,不得不做一些设置来消除“发件人”字段中显示的某种“代表发送”文本,但如果这是问题所在,那么这个问题可能更适合。

您可以使用此代码

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
})


发布您目前获得的代码,删除任何机密信息我编辑了此部分:MailAddress mailAdd=new MailAddress(“username@gmail.com"); mailMsg.From=mailAdd;但我收到的是一封真正的邮件发件人,而不是我在“发件人”字段中申请的邮件。谷歌很可能会忽略这个值。当我测试自动发送的邮件时,我会让它们先进入我的gmail帐户,这样我就可以确保一切正常,并且我可以将发件人地址设置为我想要的任何地址@阿凡达,在你的代码示例中,它说你的发件人地址是一个名为username的变量,这可能是问题所在吗?@Avatar:既然你已经发布了代码,如果username包含正确的地址(???),那似乎是对的。如果这受到邮件服务器的限制,那么这是一种反垃圾邮件措施,除非您能够在邮件服务器上编写代码,否则无法阻止它。换句话说,你不能。如果它是正确的(您可以通过单步执行代码来验证),那么这是一个帐户问题,而不是编程问题。
  using (var message = new MailMessage(fromAddress, toAddress)
  {
   Subject = subject,
  Body = body
 })
 {
  smtp.Send(message);
 }