VPS에 새롭고 깨끗한 데비안 8을 다시 설치했습니다.
모두 기본값으로 설정되었습니다.
dpkg -s exim4
dpkg -s postfix
가져오기 및 내보내기를 말하세요 .아니요설치됨, 해당 접미사예설치하다. lsof -i :25
PID 478을 표시한 다음 을 표시하여 이를 ps p 478
확인합니다 478 ? Ss 0:00 /usr/lib/postfix/master
. 아직 해본 적은 없는데 apt-get install postfix
기본으로 설치되어 있는 것 같습니다.
example.com
내 등록 기관에서 내 서버로 전달하는 DNS MX 레코드를 가지고 있습니다 .
방금 Gmail에서 (으)로 이메일을 보냈습니다 [email protected]
.
아직도 할
No mail
때 지켜보고 있어요$ mail
.postfix에 무언가가 도착했는지 확인하는 방법은 무엇입니까?
인터넷에서 오는 이메일을 받아들이려면 데비안을 새로 설치하도록 구성해야 합니까?
root
외부 메일 보낸 사람이 보낸 메일을 수락하려면 로컬로 사서함을 만들어야 합니까[email protected]
?
결과는 다음과 같습니다 iptables
(수정되지 않은 기본 구성).
root@blah:~# iptables -nvL
Chain INPUT (policy ACCEPT 77135 packets, 50M bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 2 packets, 120 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 66416 packets, 11M bytes)
pkts bytes target prot opt in out source destination
나는 지금 본다 cat /var/log/mail.log
:
Nov 22 11:57:32 blah postfix/smtpd[10485]: connect from mail-ua0-f171.google.com[209.85.xxx.xxx]
Nov 22 11:57:32 blah postfix/smtpd[10485]: NOQUEUE: reject: RCPT from mail-ua0-f171.google.com[209.85.xxx.xxx]: 454 4.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<mail-ua0-f171.google.com>
Nov 22 11:57:32 blah postfix/smtpd[10485]: disconnect from mail-ua0-f171.google.com[209.85.xxx.xxx]
답변1
이 줄에는 귀하에게 필요한 유용한 정보가 포함되어 있습니다.
Nov 22 11:57:32 blah postfix/smtpd[10485]: NOQUEUE: reject: RCPT from mail-ua0-f171.google.com[209.85.xxx.xxx]: 454 4.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected] ...
이것이 알려주는 것은 귀하의 컴퓨터가 Google에서 다음으로 메시지를 전달하는 것을 거부하고 있다는 것입니다.[이메일 보호됨]. 이제 귀하의 컴퓨터가 example.com이라는 것을 알지만 분명히 귀하의 컴퓨터는 그렇지 않습니다.
해결 방법: example.com을 로컬 컴퓨터의 이름으로 포함하도록 로컬 구성을 수정하십시오. Postfix 웹사이트(((BASIC_CONFIGURATION_README.html)[)에 읽기 쉬운 문서가 있습니다.http://www.postfix.org/BASIC_CONFIGURATION_README.html#mydestination]) 설정 방법을 설명합니다.
내 도메인 이름
mydomain 매개변수는 $myhostname의 상위 도메인을 지정합니다. 기본적으로 이는 첫 번째 부분을 제거하여 $myhostname에서 파생됩니다(결과가 최상위 도메인이 아닌 경우).
반대로, main.cf에 mydomain을 지정하면 Postfix는 해당 값을 사용하여 myhostname 매개변수에 대한 정규화된 기본값을 생성합니다.
예(다음 중 하나만 지정):
/etc/postfix/main.cf: mydomain = local.domain mydomain = virtual.domain (virtual interface)
어떤 도메인에서 이메일을 받나요?
mydestination 매개변수는 다른 시스템으로 전달하지 않고 이 시스템에서 로컬로 전달할 도메인을 지정합니다. 기본값은 머신 자체가 메일을 수신하는 것입니다. 호스트된 도메인에 대해 Postfix를 구성하는 방법을 알아보려면 VIRTUAL_README 파일을 참조하세요.
0개 이상의 도메인 이름, "/file/name" 패턴 및/또는 "type:table" 조회 테이블(예: hash:, btree:, nis:, ldap: 또는 mysql:)을 공백으로 구분하여 지정할 수 있습니다. 및 구분 기호 구분/또는 쉼표. "/file/name" 패턴은 해당 내용으로 대체됩니다. "type:table" 요청은 테이블 조회를 완료하고 존재 여부만 테스트합니다. 조회 결과는 무시됩니다.
중요: 컴퓨터가 전체 도메인의 메일 서버인 경우 $mydomain도 나열되어야 합니다.
예 1: 기본 설정.
/etc/postfix/main.cf: mydestination = $myhostname localhost.$mydomain localhost
예 2: 도메인 전체 메일 서버.
/etc/postfix/main.cf: mydestination = $myhostname localhost.$mydomain localhost $mydomain
예시 3: 여러 개의 DNS A 레코드가 있는 호스트.
/etc/postfix/main.cf: mydestination = $myhostname localhost.$mydomain localhost www.$mydomain ftp.$mydomain
참고: 메일 배달 루프를 방지하려면 $myhostname 및 localhost.$mydomain을 포함하여 컴퓨터의 모든 호스트 이름을 나열해야 합니다.
따라서 이것으로 충분합니다:
mydomain = example.com
...
mydestination = $myhostname localhost.$mydomain localhost $mydomain
답변2
roaima의 답변 외에도 문제도 해결됩니다.
mydestination = <....>, mydomain.com
in 끝에 도메인 이름 추가/etc/postfix/main.cf
다음 줄을 주석 처리하세요.
#mailbox_command = procmail -a "$EXTENSION"
그런 다음 Gmail에서 이메일을 보내고
[email protected]
몇 초간 기다립니다.이렇게 하면
mail
새 이메일이 표시됩니다 :)