如果我尝试发送简单的“简报”等电子邮件,则不会显示在我的“已发送”文件夹中发送的电子邮件。我已经多次将它发送到我自己的邮件地址(我会说它可能是20封测试邮件)而且没有。
你能告诉我怎么做吗?
这是应用程序的代码:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// passwordBox.PasswordChar = '*';
}
private void sendButton_Click(object sender, EventArgs e)
{
string receiver = toBox.Text;
char[] spl = new char[2] { ';', ',' };
string[] receivers = receiver.Split(spl);
//mail details
MailMessage mail = new MailMessage();
mail.From = new MailAddress("xxx@xxx");
mail.Subject = topicBox.Text;
mail.Body = contentBox.Text;
//smtp details
SmtpClient SmtpServer = new SmtpClient();
SmtpServer.Host = "mail.xxx";
SmtpServer.Port = 25;
SmtpServer.Credentials = new NetworkCredential("xxx@xxx", "password");
SmtpServer.EnableSsl = false;
for (int i = 0; i < receivers.Length; i++)
{
try
{
mail.To.Add(receivers[i].ToString());
SmtpServer.Send(mail);
MessageBox.Show("Mail for " + mail.To.ToString() + " send!", " Success!", MessageBoxButtons.OK);
mail.To.RemoveAt(0);
}
catch (Exception err)
{
MessageBox.Show(err.ToString() , "Error");
return;
}
}
}
}
奇怪的是,由公司“465”提供并将EnableSsl更改为“true”的端口不断崩溃整个应用程序。
两个问题:
答案 0 :(得分:2)
当您通过代码发送邮件时,您不能通过Microsoft Outlook发送邮件。您将其直接发送到服务器。因此,代表用户发送的电子邮件不会显示在Outlook中的已发送文件夹中。只有收到电子邮件的人(To,CC和BCC)才会看到该电子邮件。
您可以使用某些Exchange(如果您可以控制Web服务器,实际上是它正在使用的软件)或Outlook SDK,而不是使用SMTP库来发送电子邮件。代表用户发送。