Linux
DKIM 到 gmail 失敗
我正在嘗試在執行 exim 的 CentOS 7 伺服器上設置 DKIM,但 gmail 正在返回
dkim=neutral (bad format) header.i=@ellie-oli.com; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ellie-oli.com; s=mail; h=; bh=VAgC5MVP54VmvlcGQaMT2ZdmokXkhMKi/RNSpcUu2qw=; b=agz8IPjjK9+CerCMv5EDEl3DCVuakvU6StLQUgLTrnmVPPyazb0/Moi5pAopJdGJEUaHNhf9V2dFQNrcDUDw7AxqCUKT+pXwHDPq1tGIhtyntRy4LcoIBaEAf6eieVNScPQHX/hj2AUdMEVk1DaNwnh5rZbNGCydaMbVQFwbLLEXJbaY0sDt8Zpi/BF1JArxUMUeuJZlFGgU8LBpuQ671xuNVxMoK0Bfak3YEJjCx6LWhZBQLRKs2scZ/BHuDKLziY6n7GML8dPcgCpwo/wODJYXnDHxDY7MNCnEF6b110uQKje4kkQG32gVjJHr/gpeinQOWJ/oZAicJcnIp7kH8g==;
我的 exim 配置看起來像
remote_smtp: debug_print = "T: remote_smtp_dkim for $local_part@$domain" driver = smtp .ifdef REMOTE_SMTP_HOSTS_AVOID_TLS hosts_avoid_tls = REMOTE_SMTP_HOSTS_AVOID_TLS .endif .ifdef REMOTE_SMTP_HEADERS_REWRITE headers_rewrite = REMOTE_SMTP_HEADERS_REWRITE .endif .ifdef REMOTE_SMTP_RETURN_PATH return_path = REMOTE_SMTP_RETURN_PATH .endif .ifdef REMOTE_SMTP_HELO_DATA helo_data=REMOTE_SMTP_HELO_DATA .endif dkim_domain = ${lookup{$sender_address}lsearch*@{/etc/exim/dkim_senders}} dkim_selector = mail dkim_private_key = /etc/exim/dkim/mail.pem dkim_canon = relaxed dkim_strict = false dkim_sign_headers = DKIM_SIGN_HEADERS
據我所知,DNS 記錄似乎有效,並返回為
mail._domainkey.ellie-oli.com text = "v=DKIM1\; k=rsa\; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzo9rv2QgABArrAwPgeR++q3Y/0HGWqoETE3N7/o3hwYBMpujcPM22Lp0PoMYStu/VyyZikM23nEnmlpeOiS8GdGL0ZbP5HatDqvZKoiu5mx5PODtea8XWoKsH1BV2ngOWt0d43SRMSCBT5vJ9tJpjYe20B3lE2XEXHbrxZ5vWajvAi3vFFJ4mQSUKisQ+KV+NEt" "pqR9bm9KTk0HbeykdSwjvsz78eHCbJQUI+C9sn5MrKmdatqHOHA1fjf6iqbc7kdA08MGr3KoiySAFrPqRLR/Pw1oRueU8ImPIzY3n2ZvZqMl2zTDhe/luxf6ecCEj0AbfwbGghRxMq4QIZDvzFwIDAQAB"
有誰知道可能導致問題的原因是什麼?
DKIM 簽名中的簽名標頭欄位(h-tag)為空。然而,根據RFC 6376,它必須包含至少一個標頭名稱。推薦的要簽名的標頭欄位在 RFC 的第 5.4 節中進行了描述。
可能該
DKIM_SIGN_HEADERS
變數包含無效的內容。dkim_sign_headers
根據進出口規範:可選:設置時,此選項必須擴展為(或指定為)以冒號分隔的標頭名稱列表。具有這些名稱的標頭將包含在消息簽名中。未指定時,將使用 RFC4871 中推薦的標頭名稱。