প্রেরকের ঠিকানার জন্য কীভাবে একটি আসল ডোমেন নাম কনফিগার করতে হয়


10

আমি পিএইচপি mail()ফাংশন ব্যবহার করে একটি ইমেল প্রেরণের চেষ্টা করেছি তবে এটি কোনওভাবেই ব্যর্থ হয়েছিল, অভিযোগ করে যে একটি সত্যিকারের ডোমেন নাম প্রয়োজন। মাইলোগে নিম্নলিখিতটি পর্যবেক্ষণ করা হচ্ছে:

সেন্ডমেইল 4984 আর 25984: থেকে = অ্যাপাচি, আকার = 273, শ্রেণি = 0, এনআরসিপিটিস = 1, # = 201.r25@localhost.localdomain>, রিলে = অ্যাপাচি @ লোকালহোস্ট
সেন্ডমেল 4985 আর 25985: রোলসেট = চেক_মেল, আরজি 1 =, রিলে = mydomain.com [127.0.0.1], প্রত্যাখ্যান = 553 5.5.4 ... প্রেরকের ঠিকানার
প্রেরণের জন্য সত্যিকারের ডোমেন নাম 4984 r25984: to=extern@server.com, ctladdr = অ্যাপাচি (48/48), দেরি = 00: 00:01, এক্সডিলে = 00: 00: 00, মেলার = রিলে, প্রি = 30273, রিলে = [127.0.0.1] [127.0.0.1], ডিএসএন = 5.6.0, স্ট্যাট = ডেটা ফর্ম্যাট ত্রুটি
সেন্ডমেইল 4984 r25984: r25984: ডিএসএন: ডেটা ফর্ম্যাট ত্রুটি

যখনই লোগ্রোটেটের সমস্যা হয় ক্রোন ক্রোম বহিরাগত @server.com এ ইমেল পাঠাতে সক্ষম। আমি নিশ্চিত না যে পিএইচপি কেন এটি করতে অক্ষম। আমি নিম্নলিখিতটি সহ `সেন্ডমেল.এমসি তে ডিফল্ট কনফিগারেশনে পরিবর্তন করার চেষ্টা করেছি:

MASQUERADE_AS(`mydomain.com')dnl
FEATURE(masquerade_envelope)dnl
FEATURE(masquerade_entire_domain)dnl
MASQUERADE_DOMAIN(localhost)dnl
MASQUERADE_DOMAIN(localhost.localdomain)dnl
MASQUERADE_DOMAIN(mycom)dnl

তবে, এর কোনও প্রভাব আছে বলে মনে হয় না। পিএইচপি মেল ফাংশনে ঠিকানা থেকে শিরোনামটি ইতিমধ্যে সেট করা হয়েছে। আমিও নিশ্চিত করেছি যে সেলইনাক্স httpd_can_sendmailসক্ষম রয়েছে। মেল পৌঁছে দেওয়ার জন্য আমার আর কী করা দরকার?


আপনি সম্পাদনা করেছেন sendmail.mc, লাইনগুলি পরিবর্তন করেছেন localhost.localdomainএবং localhostঅর্থপূর্ণ কিছুতে এবং এমসি ফাইলটি সংকলন করেছেন sendmail.cf?
fboaventura

@ ফোয়েভেন্তুরা, না, আমি দুটি লাইন dnlসামনে রেখে মুছে ফেলেছি om
প্রশ্ন ওভারফ্লো

আপনি যেখানে পিছু নিচ্ছেন সেখানে আপনার পিএইচপি স্ক্রিপ্টের প্রাসঙ্গিক অংশটি যুক্ত করতে পারেন mail()? এবং, এটি sendmail.mcসঠিক কনফিগারেশন ফাইল নয়, এই ফাইলটি অবশ্যই sendmail.cfব্যবহার করে সংকলন করতে হবে m4
fboaventura

@ এফবোএন্টুরা, ধন্যবাদ, আমি জানি যে সংকলনের প্রয়োজনীয়তা সম্পর্কে, আমি এখন এটি কাজ করতে সক্ষম হয়েছি। আমার উত্তর নীচে দেখুন। আপনার সহায়তার জন্য ধন্যবাদ :)
প্রশ্ন ওভারফ্লো

উত্তর:


10

আমি মনে করি আমি এটি সবেমাত্র সমাধান করেছি। আমার কাছে / ইত্যাদি / হোস্টগুলিতে নিম্নলিখিতগুলি রয়েছে :

127.0.0.1 www.mydomain.com test.mydomain.com
127.0.0.1 cdn.mycdn.com
127.0.0.1 localhost.localdomain localhost myserver.com

আমার যা দরকার তা হ'ল myserver.com এর সাথে লাইনের সামনে স্থাপন করা localhost.localdomainযাতে প্রেরণমেল ভাবতে পারে যে এটি ইমেলটি প্রেরণে সত্যিকারের ডোমেন ব্যবহার করছে।


3
আপনি অবশ্যই নিজের উত্তরটি মেনে নিতে পারেন এটিই সমাধান ছিল ... একটি সিডেনোট হিসাবে, এটি সাধারণত /etc/hosts(একটি "এস" সহ) হয়, অন্যটি ছাড়া: ভাল উত্তর!
লেভাইট

2

আপনার স্ক্রিপ্টগুলিতে আপনার ইমেলের শিরোনামগুলি কনফিগার করতে হবে From: sender@domain.com


দুঃখিত, আমার উল্লেখ করা উচিত ছিল যে এটি ইতিমধ্যে শিরোলেখগুলিতে সেট করা আছে।
প্রশ্ন ওভারফ্লো

1

আপনার sendmail.mcযোগে:

LOCAL_CONFIG
Djmyserver.com

sendmail.cfপুনরায় কম্পাইল করুন , সেন্ডমেল পুনরায় চালু করুন এবং আপনার ঠিক আছে


1

আমার ক্ষেত্রে, উবুন্টু 16.04 এ AWS উদাহরণে, যা দরকার ছিল তা হ'ল /etc/mail/sendmail.mc:

define(`confDOMAIN_NAME', `mydomainname.com')dnl

MAILER_DEFINITIONSফাইলের শেষের দিকে রেখার আগে একটি লাইনে এবং একই লাইনের শেষের দিকে যুক্ত করুন /etc/mail/submit.mc। তারপরে sudo suরুট অনুমতিগুলির জন্য টাইপ করুন এবং এর সাথে কনফিগার করতে সংকলন করুন:

m4 sendmail.mc > sendmail.cf
m4 submit.mc > submit.cf

... তাহলে exitসুডো। শেষ sudo service sendmail restartঅবধি, সেন্ডমেল পুনরায় আরম্ভ করতে এবং তার থেকে ইমেলগুলি ডোমেন নাম থেকে প্রেরিত হিসাবে উপস্থিত হচ্ছিল। অন্য কোনও বৈশিষ্ট্য বা মাসকোয়ার্ড কমান্ডের কোনওটিরই প্রয়োজন ছিল না, বা /etc/hostsফাইলটিতে প্রবেশের প্রয়োজন নেই ।

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