রুটের মেইল ​​ফরওয়ার্ড করার জন্য পোস্টফিক্স পান


13

আমার একটি উবুন্টু সার্ভার চলছে পোস্টফিক্স। এটি আমার ডোমেনের জন্য মেল সার্ভার নয়।

যখনই কোনও ক্রোন জব রুটের জন্য চালায় তখন আউটপুট মেল স্থানীয়ভাবে সরবরাহ করা হয় না, পরিবর্তে এটি মূল মেইল ​​সার্ভারের মাধ্যমে root@mydomain.com এ প্রেরণ হয়। এটা আমি চাই না।

আমি চাই যে মূলের জন্য মেলটি স্থানীয়ভাবে সরবরাহ করা হোক বা অন্য মেইল@anotherdomain.com এ ফরোয়ার্ড করা হোক।

আমি উভয় পরিবর্তন চেষ্টা করেছি ~root/.forwardএবং /etc/aliases(এবং newaliases চলমান), কিন্তু কিছুই (আমি অনুমান এই ফাইলগুলি শুধুমাত্র পরীক্ষিত হয় যখন পোস্টসাফিক্স চেষ্টা স্থানীয়ভাবে মেইল বিলি) সাহায্য করে।

আমি কি করতে পারি?

এটি হ'ল /etc/postfix/main.cf:

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
append_dot_mydomain = no
readme_directory = no
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
myhostname = linux1.mydomain.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = linux1.mydomain.com, localhost.linux1.mydomain.com, localhost
relayhost = my.isps.relayhost.com
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only

সম্পাদনা:

রুটে মেল পাঠানোর সময়, এটি এতে যায় /var/log/mail.log:

Mar  7 09:39:17 linux1 postfix/pickup[31381]: F3B9C98025E: uid=1000 from=<ct>
Mar  7 09:39:18 linux1 postfix/cleanup[31556]: F3B9C98025E: message-id=<20130307083917.F3B9C98025E@linux1.mydomain.com>
Mar  7 09:39:18 linux1 postfix/qmgr[28525]: F3B9C98025E: from=<ct@mydomain.com>, size=283, nrcpt=1 (queue active)
Mar  7 09:39:18 linux1 postfix/smtp[31558]: F3B9C98025E: to=<root@mydomain.com>, orig_to=<root>, relay=my.isps.relayhost.com[<IP address omitted>]:25, delay=0.72, delays=0.19/0.02/0.27/0.25, dsn=2.0.0, status=sent (250 Ok: queued as A97F5D8126)
Mar  7 09:39:18 linux1 postfix/qmgr[28525]: F3B9C98025E: removed

"সিটি" নামটি আমার ব্যবহারকারীর নাম। আমি এই কমান্ডের মাধ্যমে উপরের পাঠ্যটি তৈরি করেছি:

echo test | mail -s test root

বিষয়বস্তু /etc/mailnameহ'ল:

mydomain.com

বিষয়বস্তু /etc/aliasesহ'ল:

root: anothermail@anotherdomain.com
postmaster:    root

যেখানে আরেকটি মেইল@anotherdomain.com সেখানে আমি রুটের মেইলটি ফরোয়ার্ড করতে চাই।

বিষয়বস্তু /etc/hostsআসলে আমাকে একটু অবাক করে:

127.0.0.1 localhost
127.0.1.1 linux1.mylinux.mydomain.com linux1

যেখানে "মাইলিনাক্স" হল হোস্ট অপারেটিং সিস্টেমের হোস্ট নাম যার অধীনে লিনাক্স 1 ভার্চুয়াল মেশিন হিসাবে চালিত হয়। আমি নিশ্চিত না যে "মাইলিনাক্স" সেখানে কীভাবে প্রবেশ করেছিল। (তবে এটি কি আসলেই আমার সমস্যার কারণ হতে পারে?)


আপনি যখন রুটে কোনও মেল প্রেরণ করেন আপনি কি আমাদের আপনার পোস্টফিক্স লগগুলি সরবরাহ করতে পারেন?
ডোম

মূল পোস্টে সম্পাদনা করে আমি এটি করেছি।
oz1cz

আপনি কি আমাদের আপনার / ইত্যাদি / মেলনাম এবং / ইত্যাদি / উপকরণ ফাইল দিতে পারেন? / ইত্যাদি / হোস্টগুলিতে 127.0.1.1 তে নির্ধারিত linux1.mydomain.com রয়েছে কিনা তা পরীক্ষা করুন
ডম

আমি মূল পোস্টে তথ্য যুক্ত করেছি।
oz1cz

আপনার লগ অনুসারে মেলটি সঠিকভাবে আপনার আইএসপি এসএমটিপি রিলে প্রেরণ করা হয়েছে। আমি তাদের (আইএসপি) সমস্যার বিষয়ে যে কোনও ক্লু (অ্যান্টিস্প্যাম, ত্রুটি, ...) এর জন্য আমার আইপিস.আর.এল.এইচএস.কম [<আইপি ঠিকানা বাদ দেওয়া]] লগগুলি পরীক্ষা করতে বলি।

উত্তর:


13

ব্যবহারযোগ্য হিসাবে, আপনার লগগুলি পরীক্ষা করুন।

আপনার ক্ষেত্রে, পোস্টফিক্স ডিমন মনে করে মেলটি এটির জন্য নয় এবং এটি ব্যবহার না করে প্রেরণ করে /etc/aliases

প্রথমে আপনার /etc/hostsফাইলটি যাচাই করুন: এটিতে আপনার মেশিনের নামটি সম্পর্কিত হওয়া উচিত 127.0.1.1:

127.0.1.1  linux1.mydomain.com  linux1

/etc/mailnameআপনারও পরীক্ষা করে দেখুন এবং এটি সামঞ্জস্যপূর্ণ হওয়া উচিত।

/etc/aliasesরুট (ব্যবহারকারী) অন্য কোনও ব্যবহারকারীর কাছে প্রেরণ করা হয়েছে কিনা তা পরীক্ষা করে দেখুন এবং newaliasesকমান্ডটি পুনরায় করুন ।

এবং এটি কাজ করা উচিত!


তা কি হওয়া উচিত 127.0.0.1?
নট

127.0.0.0/8 এ আপনার কোনও ঠিকানা থাকতে পারে, তাই 127.0.0.1 খুব ভাল কাজ করে
ডম

আমার অনুরূপ সমস্যা ছিল যখন আমি কেবল মেলগুলি প্রেরণের জন্য স্মার্টস্টেস্ট রিলে ব্যবহার করতে চাই: "মাইহোস্টনাম" "লোকালহোস্ট" হতে হয়েছিল। অন্য যে কোনও কিছু উপকরণ ফাইলটি এড়িয়ে গেছে।
অ্যালেক্স

8

যদি mydestinationখালি থাকে বা না থাকে $myhostnameতবে /etc/aliasesতা উপেক্ষা করা হবে কারণ পোস্টফিক্সটি মনে করে যে ইমেলটি কোনও স্থানীয় বিতরণ নয় এবং সেইজন্য স্থানীয় উপকরণগুলি প্রয়োগ করবে না। সুতরাং, mydestinationডিফল্টে ছেড়ে দিন ( postconf -d mydestinationবা এটি থেকে সরিয়ে দিন main.cf) এবং লগগুলি to=<...>আপনার অ্যালিজেড ঠিকানা হিসাবে প্রদর্শিত হবে।


আমি একটি বাহ্যিক মেল সার্ভার ব্যবহার করছি এবং mydestinationঅবশ্যই খালি থাকতে হবে। অন্যথায় কোনও মেইল ​​প্রেরণ করা হয় না।
কর্নি

1

কিছু পরিস্থিতিতে, (যেমন যেখানে সমস্ত মেল একটি বাহ্যিক সিস্টেমে রিলে হয়ে যায়), কেবলমাত্র MAILTOরুটের ক্রন্টাবের ভেরিয়েবলটিকে একটি সত্যিকারের ইমেল ঠিকানায় সেট করা সহজ । এটি রুট থেকে traditionalতিহ্যবাহী বিতরণকে বাইপাস করা উচিত এবং এটি যেখানে আপনি চান সেখানে যেতে হবে।

# Root's crontab
MAILTO=someone@example.com
0 0 * * * /usr/bin/somescript

0

/root/.forwardকমপক্ষে কঠোর সিস্টেমে পোস্টফিক্স ডেমন দ্বারা খোলার ক্ষেত্রে কিছু সমস্যা রয়েছে বলে মনে হচ্ছে (আমি এটিতে খনন করি না)। সত্ত্বেও:

# ls -ld / /root /root/.forward
dr-xr-xr-x. 18 root root  236 Dec  4 00:02 /
dr-xr-x--x. 13 root root 4096 Jan  8 17:45 /root
-rw-r--r--.  1 root root   30 Jan  8 14:51 /root/.forward

পোস্টফিক্স ডেমনের চাইল্ড অ্যাক্সেস করতে সক্ষম নয় wardফরোড:

7603  open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 16
7603  fstat(16, {st_mode=S_IFREG|0644, st_size=1227, ...}) = 0
7603  mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f86854fb000
7603  read(16, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 1227
7603  close(16)                         = 0
7603  munmap(0x7f86854fb000, 4096)      = 0
7603  geteuid()                         = 89
7603  getegid()                         = 89
7603  geteuid()                         = 89
7603  setresuid(-1, 0, -1)              = 0
7603  setresgid(-1, 0, -1)              = 0
7603  setgroups(1, [0])                 = 0
7603  lstat("/root/.forward", 0x7ffc03f84750) = -1 EACCES (Permission denied)

এটি খননের জন্য আমার হাতে সময় নেই ... এন্ট্রি যুক্ত করে /etc/aliasesএরপরে newaliasesসূক্ষ্ম কাজ করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.