ฉันจะทำให้ cron ส่งอีเมลถึงบัญชี @gmail ของฉันได้อย่างไร


40

ฉันมีงาน cron สองสามครั้งที่บางครั้งสร้างข้อผิดพลาดและต้องการรับการแจ้งเตือนในบัญชีอีเมล "ของจริง" ของฉันเนื่องจากฉันไม่ได้ใช้กล่องจดหมายของผู้ใช้ในแล็ปท็อป Ubuntu แต่ cron (หรืออาจเป็น postfix) พยายามส่งอีเมลถึงบัญชีรูทท้องถิ่น

ฉันรู้ว่าฉันสามารถเพิ่มตัวแปร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 เป็นสมาร์ทโฮสต์ของคุณสำหรับเมลเซิร์ฟเวอร์ คุณต้องลบการกำหนดค่า smarthost หรือแก้ไขเพื่อให้เซิร์ฟเวอร์ของคุณสามารถส่งจดหมายไปยังโลกภายนอกได้

การกำหนดค่าที่คุณมีในขณะนี้สำหรับการส่งต่อจดหมายดูเหมือนจะใช้งานได้ แต่ล้มเหลวเนื่องจาก smtp.gmail.com กำลังปฏิเสธจดหมาย

อัปเดต : สำหรับการอ้างอิงในอนาคตปัญหาเกิดขึ้นใน/etc/mailnameรายการชื่อที่ไม่ได้อยู่ในmydestinationsรายการ postfix สิ่งนี้ทำให้อีเมลทั้งหมดถูกพิจารณาว่าเป็นสิ่งแปลกปลอมและการเลี่ยงผ่าน/etc/aliasesการประมวลผลอีเมล


ฉันไม่สนใจข้อผิดพลาด TLS ในตอนนี้และจดจ่ออยู่กับข้อเท็จจริงที่ว่าบรรทัดสุดท้ายใน mail.log พูดว่า: postfix / smtp [4120]: D985B310: to = <root@144-68-247-190.fibertel.com .ar> ดังนั้น cron ยังคงพยายามส่งอีเมลบัญชีผู้ใช้ของฉันแทนบัญชี gmail ของฉันฉันกลัวว่าการตอบสนองของ gmail ในคำถามจะทำให้เกิดความสับสน แต่ฉันไม่ต้องการเปลี่ยนแปลงมากเกินไปดังนั้นฉันจึงไม่สูญเสียที่มีค่า ข้อมูล. ฉันจะพยายามแก้ไขข้อผิดพลาด TLS ตอนนี้ แต่ฉันมั่นใจว่ามันไม่ควรเกี่ยวข้องกับปัญหาปลายทางที่ผิด
ริคาร์โดเรเยส

คุณช่วยเพิ่ม main.cf สำหรับ postfix ได้ไหม ฉันสงสัยว่าอินสแตนซ์ postfix ของคุณคิดว่าเมลนั้นไม่ใช่แบบโลคัลสำหรับเริ่มต้นเฉพาะเมลท้องถิ่นเท่านั้นที่ได้รับผลกระทบจากไฟล์นามแฝง
Ressu

นี่คือ postfix.cfg ของฉัน: cl1p.net/postfix ฉันพยายามลบตัวเลือกสมาร์ทโฮสต์ แต่เปลี่ยนเฉพาะข้อความแสดงข้อผิดพลาดของ Gmail เนื่องจาก IP ของฉันไม่สามารถแก้ไขได้อย่างถูกต้อง โปรดทราบว่านี่ไม่ใช่เซิร์ฟเวอร์ แต่เป็นเพียงแล็ปท็อปส่วนตัวของฉันและอีเมลเดียวที่ฉันต้องส่งคือการแจ้งเตือน cron ไปยังบัญชี gmail ของฉันเอง ขอบคุณ
Ricardo Reyes

1
อืม .. / etc / mailname ของคุณมีชื่อโฮสต์อยู่หรือไม่? ด้วยเหตุผลบางอย่าง postfix ดูเหมือนจะคิดว่ามีชื่อว่า 144-68-247-190.fibertel.com.ar แทนที่จะเป็น ricardo-laptop นอกจากนี้hostnameคำสั่งพูดว่าอะไร?
Ressu

จำเป็นต้องกำหนดค่า postfix เป็นเซิร์ฟเวอร์เมลแบบเต็มไม่ใช่เป็น satellite ไปยัง gmail มิฉะนั้นจะมีปัญหาการตรวจสอบเพราะผู้ส่งไม่ใช่ผู้ใช้สำหรับ gmail
txwikinger

1

โซลูชันสกัดจากคำถาม

(ขอบคุณRessu )

ปัญหาเกิดขึ้นกับไฟล์ /etc/mailname

ไฟล์นี้สร้างขึ้นโดยตัวติดตั้ง Ubuntu และมีชื่อเซิร์ฟเวอร์ผิด เมื่อฉันเปลี่ยนมันเพื่อให้ตรงกับ 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.