i am creating simple email sending application. In my application when ever i send email i have to put my email address or password as from but i don't want to use password only want to put email
so
Can i send Email without using password using c#/.net application ?
this is my code:
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");
}
Can i send Email without using password using c#/.net application ?
Yes, if you have access to an email gateway that doesn't require authentication you can simply do:
SmtpClient mailClient = new SmtpClient("your.emailgateway.com");
mailClient.Send(message);
Maybe your company or ISP can provide one for you?
In general, you can, sure. In your concrete example code you are using GMail which does not allow anonymous sending.
From their references:
smtp.gmail.com (use authentication)
Use Authentication: Yes
Port for TLS/STARTTLS: 587
Port for SSL: 465
An additional comment regarding your catch
clause:
In my opinion you are heavily misusing the exception idea. A better aproach would be something like:
catch(Exception x)
{
var s = x.Message;
if ( x.InnerException!=null )
{
s += Environment.NewLine + x.InnerException.Message;
}
MessageBox.Show(s);
}
来源:https://stackoverflow.com/questions/12490689/can-i-send-emails-without-authenticating-on-the-smtp-server