
메일 서버를 통해 메일을 보내는 일부 클라이언트가 있습니다. 메일을 일괄 전송하기 위해 특정 포트(이 경우 1025)의 모든 메일을 일괄 처리를 위해 MySQL에 세부 정보를 저장하는 수락 스크립트로 전달합니다. 이것을 테스트하면 완벽하게 작동하고 클라이언트 테스트에서는 완벽하게 작동합니다. 그러나 Unica 시스템에서 보낼 때는 메일이 스크립트를 바로 지나 메일 스트림으로 들어가는 것처럼 보입니다. 이것이 가능한가?
master.cf의 줄은 다음과 같습니다.
000.000.000.000:1025 inet n - - - 0 smtpd
-o mynetworks=hash:/etc/postfix/injector/networks
-o content_filter=clientid:
-o syslog_name=clientid
-o smtpd_timeout=1800s
clientid unix - n n - 0 pipe
flags=q user=filter argv=/var/injector/inject.php clntid
어떤 도움이라도 주시면 감사하겠습니다!
감사해요!
답변1
문제를 진단하려면 먼저 더 많은 데이터 수집을 시작해야 합니다. /etc/postfix/main.cf에서 debug_peer_level 및 debug_peer_list 옵션을 사용할 수 있습니다.
예를 들어
debug_peer_list=UNICA.SERVER.IP.ADDRESS debug_peer_level=2
(충분한 정보가 제공되지 않으면 디버그 수준을 더욱 높이십시오)
해당 데이터를 얻으면 unica 시스템의 메일이 실제로 사용자 정의 필터로 이동하는지 여부를 확실히 알 수 있습니다. (그리고 그렇지 않은 것처럼 들립니다)
답변2
SMTP는 포트 25(표준)를 통과하므로 클라이언트가 Unica 시스템을 통해 전송하면 해당 포트로 전송됩니다. 사용자 측에서는 포트 25에서 수신 대기하는 smtpd 프로세스가 inject.php 스크립트에 대해 아무것도 모릅니다.
클라이언트는 MTA(SMTP 서버) 또는 일반 메일 클라이언트 등 비표준 포트 사용을 인식하는 시스템을 통해 전송해야 합니다. 아니면 설정을 다시 설계해야 합니다.
예, 주소를 제거할 수 있습니다( 참조 man 5 master
).
좀 더 명확하게 설명하자면, 우리는 귀하의 구성을 완전히 볼 수 없기 때문에 아마도 원하는 것을 얻을 수 있을 것입니다(테스트되지 않음). 귀하의 클라이언트 등이 귀하의 포트 1025로 전송하지 않으면 분명히 보낸 사람 주소나 도메인을 기반으로 메일을 라우팅할 수 있습니다.
/etc/postfix/main.cf:
sender_dependent_relayhost_maps = /etc/postfix/my_special_client
/etc/postfix/my_special_client:
@example.com 127.0.0.1:1025
# postmap /etc/postfix/my_special_client
# postfix stop && postfix start
답변3
매우 자세한 디버깅을 위해 때때로 tcpdump를 수행하고 이를 Ethereal로 다시 가져와 발생한 정확한 SMTP 세션을 검사합니다.
tcpdump -i any -s 1500 -w /tmp/some-file.dump host ip.of.your.client