cron 이메일을 내 @gmail 계정으로 만들려면 어떻게합니까


40

우분투 랩톱에서 사용자의 사서함을 사용하지 않지만 cron (또는 접미사 일 수 있음)이므로 때때로 오류 출력을 생성하고 "실제"전자 메일 계정으로 알림을 받고 싶은 두 개의 cron 작업이 있습니다. 로컬 루트 계정으로 계속 이메일을 보내려고합니다.

MAILTO 변수를 crontab에 추가 할 수 있다는 것을 알고 있습니다 .

ricardo@ricardo-laptop:~$ sudo crontab -l
MAILTO=redacted@gmail.com
# m h  dom mon dow   command
*/5 * * * * /home/ricardo/mrtg/cfg/run.sh

그러나 그것에주의를 기울이지 않는 것 같습니다.

또한 /etc/aliases파일에 이메일을 추가 하고 실행 하려고했습니다.newaliases

ricardo@ricardo-laptop:~$ cat /etc/aliases
# See man 5 aliases for format
postmaster:    root
root:          redacted@gmail.com
ricardo:       redacted@gmail.com

여전히 cron이 이메일을 보내려고 할 때마다 여전히 이메일을 보냅니다 root@my.domain.com.

ricardo@ricardo-laptop:/var/log$ tail mail.log
Aug  3 16:25:01 ricardo-laptop postfix/pickup[2002]: D985B310: uid=0 from=<root>
Aug  3 16:25:01 ricardo-laptop postfix/cleanup[4117]: D985B310: message-id=<20100803192501.D985B310@ricardo-laptop>
Aug  3 16:25:01 ricardo-laptop postfix/qmgr[2003]: D985B310: from=<root@144-68-247-190.fibertel.com.ar>, size=762, nrcpt=1 (queue active)
Aug  3 16:25:03 ricardo-laptop postfix/smtp[4120]: D985B310: to=<root@144-68-247-190.fibertel.com.ar>, orig_to=<root>, relay=smtp.gmail.com[74.125.157.109]:25, delay=1.5, delays=0.38/0.02/0.9/0.18, dsn=5.7.0, status=bounced (host smtp.gmail.com[74.125.157.109] said: 530 5.7.0 Must issue a STARTTLS command first. d1sm12275173anc.19 (in reply to MAIL FROM command))

어떤 제안? Ubuntu 10.04를 최신 버전으로 실행하고 있습니다.

답변:


20

smtp.gmail.com을 메일 서버의 스마트 호스트로 구성한 것으로 보입니다. 서버가 외부 세계로 메일을 보낼 수 있도록 스마트 호스트 구성을 제거하거나 편집해야합니다.

현재 메일 전달을위한 구성이 작동하는 것으로 보이지만 smtp.gmail.com이 메일을 거부하여 실패했습니다.

업데이트 : 나중에 참조 할 수 있도록 문제는 postfix 목록에 /etc/mailname없는 이름을 나열했습니다 mydestinations. 이로 인해 모든 메일이 외부 메일로 간주되어 메일을 /etc/aliases처리하지 않았습니다 .


지금은 TLS 오류를 무시하고 mail.log의 마지막 줄에 postfix / smtp [4120] : D985B310 : to = <root@144-68-247-190.fibertel.com이라는 사실이 집중되어 있습니다. .ar> 그래서 cron은 여전히 ​​내 gmail 계정 대신 내 루트 계정으로 이메일을 보내려고합니다. 질문에 gmail의 응답을 남기는 것이 혼란 스럽지만 너무 많이 바꾸고 싶지 않아서 귀중하지 않습니다. 정보. 이제 TLS 오류를 해결하려고 시도하지만 잘못된 대상 문제와 관련이 없어야합니다.
— Ricardo Reyes

postfix에 main.cf를 포함시킬 수 있습니까? 나는 당신의 후위 인스턴스가 메일, 로컬 메일 별칭 파일에 의해 영향을받을로 시작하는 지역이 아니라고 생각하는 것으로 의심
— Ressu

여기 내 postfix.cfg가 있습니다 : cl1p.net/postfix smarthost 옵션을 제거하려고 시도했지만 내 IP가 올바르게 해결되지 않기 때문에 Gmail의 오류 메시지 만 변경되었습니다. 이 서버는 서버가 아니며 개인 노트북 일 뿐이며 크론 알림, 내 자신의 Gmail 계정으로 전달해야하는 유일한 전자 메일입니다. 감사.
— Ricardo Reyes

1
흠 .. / etc / mailname에 호스트 이름이 있습니까? 어떤 이유로 postfix는 ricardo-laptop 대신 144-68-247-190.fibertel.com.ar이라고 생각합니다. 또한 hostname명령은 무엇을 말합니까?
— Ressu

Postfix는 Gmail 위성이 아닌 전체 메일 서버로 구성해야합니다. 그렇지 않으면 발신자가 Gmail 사용자가 아니기 때문에 인증 문제가 발생합니다.
— txwikinger

1

질문에서 추출 된 솔루션

( Ressu 덕분에 )

파일에 문제가있었습니다 /etc/mailname

이 파일은 Ubuntu 설치 프로그램에서 생성했으며 잘못된 서버 이름을 포함했습니다. "ricardo-laptop"postfix와 일치하도록 변경 한 후에는 이메일이 로컬로 전송되고 별칭을 따르기 시작했습니다.


0

내가 한 것처럼 이것을 발견하는 사람들을 위해 추가 할 것이라고 생각했습니다. 루트 계정의 모든 메일을 원하는 경우 다음 명령을 실행하는 쉬운 대안이 있습니다.

sudo nano ~ / .forward

그런 다음 하나의 이메일에 넣거나 쉼표로 둘 이상을 분리 할 수 ​​있습니다. 이렇게하면 모든 루트 이메일 (루트를 사용한다고 가정)이이 파일의 이메일 주소로 전달됩니다.

이메일을 추가 한 후에는 Ctrl + X를 누른 다음 Y를 눌러 변경 사항을 저장하십시오.


이것은 루트가 아닌 사용자의 집에 파일을 넣습니까?
— endolith

@endolith : 맞습니다. sudo nan ~root/.forward대신 원할 수도 있습니다 .
— Flimm

1
하지만 sudo를 사용하여 사용자의 집에서 파일을 작성하고 있습니까?
— endolith
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.