Назад | Перейти на главную страницу

Как я могу изменить DKIM и SPF exim для отправленных писем?

Я потратил 2 часа, пытаясь разобраться в этой проблеме, и собираюсь сдаться и лечь спать. У меня были проблемы с тем, что Gmail отклонял электронные письма с моего VPS-сервера из-за ложных предупреждений о спаме (вероятно, вызванных lfd, отправляющим слишком много писем).

Поэтому я изменил конфигурацию Exim на отправку писем с другого IP-адреса (у моего VPS 3), и это устранило проблему. Я также включил DKIM и SPF на своих доменах для дополнительной оценки. Но теперь все мои электронные письма отображаются как («От: Имя отправителя через server.domain1.com»), где server.domain1.com - это мое имя хоста VPS. Ранее у меня была такая же проблема в Outlook, и отключение параметра «Установить отправитель SMTP: заголовки» решило эту проблему. Но я считаю, что добавление DKIM и SPF теперь заставляет Gmail добавлять в мои сообщения "via server.domain1.com". Как это исправить?

Это типичный заголовок сообщения (как в Gmail):

Delivered-To: user@gmail.com
Received: by 10.60.44.163 with SMTP id f3csp248622oem;
        Thu, 29 Mar 2012 21:23:18 -0700 (PDT)
Received: by 10.50.106.200 with SMTP id gw8mr452788igb.10.1333081398523;
        Thu, 29 Mar 2012 21:23:18 -0700 (PDT)
Return-Path: <account@server.domain1.com>
Received: from domain2.com ([X.X.X.X])
        by mx.google.com with ESMTPS id y1si810998igb.3.2012.03.29.21.23.18
        (version=TLSv1/SSLv3 cipher=OTHER);
        Thu, 29 Mar 2012 21:23:18 -0700 (PDT)
Received-SPF: pass (google.com: domain of account@server.domain1.com designates X.X.X.X as permitted sender) client-ip=X.X.X.X;
Authentication-Results: mx.google.com; spf=pass (google.com: domain of account@server.domain1.com designates X.X.X.X as permitted sender) smtp.mail=account@server.domain1.com; dkim=pass header.i=@server.domain1.com
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=server.domain1.com; s=default;
    h=Date:Message-Id:From:Content-type:MIME-Version:Subject:To; bh=wF8bBRgh01EYg4t5DAeVPv1Ps906UVIeRnQCb/HvSYw=;
    b=k/Pg7lnrO+Ud/z1mOTv+O/3DiJzzQgyBhfIizIaFHM8tF/eNJt5P2k+9yQB224sxYstZIWwVRBJmiqvcM1QhARv1HWqWma0crppZ3JOn+LRHANan634OBi+58SIRA+gu;
Received:       (Exim 4.77)
       id 1SDTVE-0005HA-9Y   
    for user@gmail.com; Fri, 30 Mar 2012 00:31:56 -0400
To: user@domain2.com
Subject: Password Reset Request
MIME-Version: 1.0
Content-type: text/html; charset=iso-8859-1
From: Sender Name <sender@domain3.com>
Message-Id: <E1SDTVE-0005HA-9Y@server.domain1.com>
Date: Fri, 30 Mar 2012 00:31:56 -0400
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - server.domain1.com
X-AntiAbuse: Original Domain - domain2.com
X-AntiAbuse: Originator/Caller UID/GID - [507 504] / [47 12]
X-AntiAbuse: Sender Address Domain - server.domain1.com

Я нашел здесь ответ: http://blog.tekipad.com/2009/11/exim-and-multiple-domains-php-mail-function-and-junk-mail-issue/

По сути, вам нужно добавить 5-й заголовок к вашему вызову PHP mail () со следующим: "-f [from_email_address]"

А также добавьте новую переменную в вашу конфигурацию exim`a: trust_users = [список идентификаторов пользователей, разделенных двоеточиями, которые могут изменять отправку с адресов]

Выполнение этих двух работ сработало. :)