我正在创建简单的电子邮件发送应用程序在我的应用程序,当我发送电子邮件时,我必须把我的电子邮件地址或密码,但我不想使用密码只想放电子邮件
所以
我可以使用c#/ .net application发送电子邮件而不使用密码吗?
这是我的代码:
try
{
// setup mail message
MailMessage message = new MailMessage();
message.From = new MailAddress(textBox1.Text);
message.To.Add(new MailAddress(textBox2.Text));
message.Subject = textBox3.Text;
message.Body = richTextBox1.Text;
// setup mail client
SmtpClient mailClient = new SmtpClient("smtp.gmail.com");
mailClient.Credentials = new NetworkCredential(textBox1.Text,"password");
// send message
mailClient.Send(message);
MessageBox.Show("Sent");
}
catch(Exception)
{
MessageBox.Show("Error");
}
答案 0 :(得分:2)
一般来说,你可以,当然。在您的具体示例代码中,您使用的是GMail,它不允许匿名发送。
smtp.gmail.com(使用身份验证)
使用身份验证:是
港口 TLS / STARTTLS:587
SSL端口:465
关于您的catch
条款的其他评论:
在我看来,你严重滥用了这个例外的想法。更好的方法是:
catch(Exception x)
{
var s = x.Message;
if ( x.InnerException!=null )
{
s += Environment.NewLine + x.InnerException.Message;
}
MessageBox.Show(s);
}
答案 1 :(得分:2)
我可以使用c#/ .net application发送电子邮件而不使用密码吗?
是的,如果您有权访问不需要身份验证的电子邮件网关,则可以执行以下操作:
SmtpClient mailClient = new SmtpClient("your.emailgateway.com");
mailClient.Send(message);
也许您的公司或ISP可以为您提供一个?