2

重複の可能性:
電子メールメッセージのスパムスコアを下げるにはどうすればよいですか?

私は人々にたくさんの電子メールを送ることができるこの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++;
} 
4

1 に答える 1

2

スパムにならないようにするために、コードに何もする必要はありません。あなたがしなければならないことは、「オープンリレー」を持たないホストから電子メールを送信していることを確認することだけです。

適切なサーバーから適切な電子メール署名を使用して電子メールを送信します。これにより、受信者が認証のためにチェックバックするときに、電子メール ソース サーバーと電子メール ホストから検証された署名を認証する必要があります。

于 2012-04-07T06:34:28.013 に答える