認証せずにメールを送信しようとしている場合、それは不可能だと思います。Webサイトのユーザーがパスワードなしで電子メールを送信できる場合、それは恐ろしいことです。これにより、ユーザーは他の人のアカウントからメールを送信できるようになります。したがって、セキュリティを考慮すると、メールアドレスとパスワードを提供するためにメールを送信する必要があります
var fromAddress = ""; // Email Address here. This will be the sender.
string fromPassword = ""; // Password for above mentioned email address.
var toAddress = "";// Receiver email address here
string subject = "Hi";
string body = "Body Text here";
var smtp = new System.Net.Mail.SmtpClient();
{
smtp.Host = "smtp.gmail.com"; // this is for gmail.
smtp.Port = 587;
smtp.EnableSsl = true;
smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
smtp.Credentials = new NetworkCredential(fromAddress, fromPassword);
smtp.Timeout = 20000;
}
smtp.Send(fromAddress, toAddress, subject, body);
[編集]
申し訳ありませんが私の間違い私はそれに気づいていませんでした。それらは両方とも同じ目的で使用されました。.Net Frameworkの上位バージョン(2.0以降)を使用している場合は、System.Net.Mailを使用してください。System.Web.Mailを使用する場合、これは非推奨であるという警告のみが表示されます。しかし、それはうまくいくでしょう。
これがSystem.web.mailの答えです
MailMessage mail = new MailMessage();
mail.To.Add("to@domain.com");
mail.From = new MailAddress("from@domain.com");
mail.Subject = "Email using Gmail";
mail.Body = "";
mail.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.EnableSsl = true;
smtp.Credentials = new System.Net.NetworkCredential(mail.From,"YourPassword");
smtp.Send(mail);