私は人々にたくさんの電子メールを送ることができるこのc#コードを持っています。しかし、私が送信した電子メールはスパムとして分類されています。どうすればよいですか。コードに適用する必要がある変更はありますか?SQLサーバーデータベースから電子メールアドレスを取得しようとしています。コードは1つのファイルを添付できます。
Entities context = new Entities();
var query = from c in context.Emails select c.EmailAddress;
MailMessage mail = new MailMessage();
Regex sample = new Regex(@"^[-!#$%&'*+/0-9=?A-Z^_a-z{|}~](\.?[-!#$%&'*+/0-9=?A-Z^_a-z{|}~])*
@[a-zA-Z](-?[a-zA-Z0-9])*(\.[a-zA-Z](-?[a-zA-Z0-9])*)+$");
int total = 0;//number of all emails
int count = 0;//counter for putting interrupt between each 10 sending
int failed = 0;//number of failed sending
int success = 0;//number of successful sending
double totalsize = 0;//size of attachment file
if (FileUpload1.HasFile)
{
mail.Attachments.Add(new Attachment(FileUpload1.PostedFile.InputStream, FileUpload1.FileName));
foreach (Attachment attachment in mail.Attachments)
{
string size =attachment.ContentStream.Length.ToString ();
totalsize=Convert .ToDouble (size);
}
}
foreach (var c in query)
{
if (count == 10)
{
Thread.Sleep(10000);
count = 0;
}
mail.From = new MailAddress("hadi@myhost.com");
mail.Bcc.Add(new MailAddress(c.ToString()));
mail.Subject = "hello";
mail.IsBodyHtml = true;
mail.Body = FCKeditor1.Value.ToString();
SmtpClient smtp = new SmtpClient();
smtp.Host = "localhost";
smtp.Port = 25;
if ((sample.IsMatch(c.ToString())) && (sample .IsMatch (mail .From .ToString ())) && (totalsize<1000000))
{
try
{
smtp.Send(mail);
//Response.Write("email has sent to " + c.ToString());
success++;
}
catch
{
//Response.Write("email has not sent to " + c.ToString());
failed++;
}
count++;
}
total++;
}