스팸으로 표시되어 Gmail로 전송된 PHP 메일(Postfix 사용)

스팸으로 표시되어 Gmail로 전송된 PHP 메일(Postfix 사용)

저는 "이메일 시스템"과 그 개념을 완전히 처음 접했습니다. 다음과 같은 간단한 이메일을 사용하여 PHP를 통해 코드를 보냅니다.

mail("[email protected]","my header","my body");

postfix나는 중지할 때 이런 일이 발생한다는 것을 알고 있습니다 postfix.

service postfix stop

그러면 이메일이 나가지 않습니다. 그런 다음 다시 시작하면 다음과 같습니다.

service postfix start

그러면 이메일이 나갑니다.(앞서 언급했듯이 저는 이메일 시스템에 대해 아무것도 모릅니다. 하지만 이를 통해 제가 이메일 시스템을 사용하고 있음을 확인할 수 있었습니다 postfix.)

그래서 여기에 질문이 옵니다:

  • 이러한 이메일이 Gmail의 스팸함에 들어가는 이유는 무엇입니까?
  • 내가 무엇을해야 하나?

내 서버에서 이메일을 올바르게 보내기 위해 해야 할 일이 무엇이든 알려주세요.

ps. 내 서버는 CentOS 6.4상자 입니다디지털 바다, 공개 IP를 사용합니다.

답변1

귀하의 IP는 스팸 블랙리스트에 포함될 가능성이 높으며 일부 서비스 제공업체는 서브넷을 블랙리스트에 올리는 것으로 악명이 높습니다. 이 문제를 해결하려면 팔로우하고 있는 모든 IP 범위를 블랙리스트에서 제거하도록 요청해야 합니다. 해당 IP 범위는 몇 가지 확인을 거친 후 제거됩니다. 또한 DKIM(Domain Keys Identified Mail), SPF 및 보낸 사람 ID와 같은 다양한 기술을 사용하여 이메일을 인증해야 합니다. 이것은 정규직입니다.

나에게 도움이 된 해결책은 Postfix를 프록시로 설정하는 것이었습니다. 원래,Postfix가 평판이 좋은 중계 서비스를 통해 이메일을 보내는 클라이언트 역할을 하게 만듭니다., 제 경우에는 Gmail입니다. Postfix 구성 파일 main.cf에 다음 내용을 추가해야 합니다.

smtp_sender_dependent_authentication = yes
sender_dependent_relayhost_maps = hash:/etc/postfix/sender_dependent_relayhosts
relayhost = [smtp.gmail.com]:587
smtp_use_tls=yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous

또한 매핑 파일을 생성하고 해시해야 합니다.

/etc/postfix/sasl_passwd:

# per-sender authentication
account1[@]gmail.com account1[@]gmail.com:passwd1
account2[@]gmail.com account2[@]gmail.com:passwd2
# default relayhost
[smtp.gmail.com]:587 default_account[@]gmail.com:default_passwd

/etc/postfix/sender_dependent_relayhosts:

account1[@]gmail.com [smtp.gmail.com]:587
account2[@]gmail.com [smtp.gmail.com]:587

해시 맵 파일:

postmap sasl_passwd sender_relay

평판이 좋은 중계 서비스는 귀하의 이메일이 스팸으로 분류되지 않도록 보장합니다. 행운을 빌어요!

관련 정보