3

こんにちは私はdelphi(インディ)からGmailアドレスにメッセージを送信しようとしています。Gmailにアクセスすると、スパムフォルダにメッセージが見つかりました。WebからPHPMailerで同じメッセージを送信しようとすると、正しく機能します。これがコードです。

ありがとう

//setup SMTP
SMTP.Port := 25;
SMTP.ConnectTimeout := 1000;
SMTP.Host := 'smtp.xxxxxx.it';
SMTP.Username := 'info@xxxxxx.it';
SMTP.Password := 'xxxxxx';
SMTP.Connect();

if SMTP.Authenticate then
begin
    //setup mail message
    MailMessage.From.Name := 'xxxxxx';
    MailMessage.From.Address := 'info@xxxxxx.it';
    MailMessage.Recipients.EMailAddresses := 'xxxxxx@gmail.com';

    MailMessage.Subject := ledSubject.Text;
    MailMessage.ContentType := 'multipart/mixed';
    htmpart := TIdText.Create(MailMessage.MessageParts, nil);
    htmpart.Body := Body.Lines;
    htmpart.ContentType := 'text/html';

    //send mail
    try
        try
            SMTP.Send(MailMessage);
        except on E:Exception do
            StatusMemo.Lines.Insert(0, 'ERROR: ' + E.Message);
        end;
    finally
        if SMTP.Connected then SMTP.Disconnect;
    end;
end;
4

2 に答える 2

4

おそらく私は問題を見つけました。「元のモード」でメッセージを見て、ヘッダーにある「IDがありません」と表示されていることを確認し、次のコードを追加しようとしました:

    MailMessage.MsgId := '1234567890@drinkmessage.it';
    MailMessage.ExtraHeaders.Values['Message-Id'] := MailMessage.MsgId;

今ではうまくいくようです。

ありがとう

于 2013-01-23T15:38:54.353 に答える
1

HeloNameMailAgentのを変更してみましたIdSMTPか? PHPMailer と同じドメインを使用している場合、GMail はアプリケーションからの電子メールをスパムと見なします。これは、送信しているアプリケーションを検出/いいねしないためです。

于 2013-01-23T14:40:53.640 に答える