আমি কীভাবে এমএক্স রেকর্ডের মাধ্যমে মেইল ​​প্রেরণের জন্য সেন্ডমেল কনফিগার করব এবং লোকালহোস্টে না?


8

আমি এমএক্স রেকর্ডসে উল্লিখিত সার্ভারগুলিতে মেইলগুলি স্থানান্তর করতে সেন্ডমেল পাওয়ার চেষ্টা করছি যাতে সার্ভার যখন me@domain.com এ একটি ইমেল প্রেরণ করে আমি চাই যে এটি লোকালহোস্ট এড়িয়ে চলে এবং সরাসরি জিমেইলে যায়।

আমি সেন্ডমেল ডক্সগুলি পেরিয়ে গিয়েছি, তবে কীভাবে আমার পরিস্থিতির জন্য অ্যাকাউন্টিং করবেন তা পুরোপুরি বুঝতে পারছি না। মূলত আমার সার্ভারের হোস্টনামটি 'www.domain.com' তবে আমি যখন 'me@domain.com' এ একটি ইমেল প্রেরণ করি এটি স্থানীয় মেইল ​​স্পুলে শেষ হয়।

আমি যখন ডিবাগ মোডে সেন্ডমেল চালাই:

sendmail -bt
> $=w

আমি পাই:

www.domain.com
www.domain.com.
domain.com
localhost
[54.245.___.___] 

সুতরাং, এটি সমস্ত বহির্গামী মেলকে বাধা দিচ্ছে domain.com। আমি এটা আসতে চাই না localhost। আমি এটি জিমেইল সার্ভারগুলিতে যেতে চাই।

অন্যান্য ঠিকানার জন্য আবদ্ধ সমস্ত মেল ভাল কাজ করে। আমি ডিকেআইএম ব্যবহার করতে সেন্ডমেল কনফিগারও করেছি।

আমি মেলারেটেবলের সাথে একটি রেকর্ড যুক্ত করেছি (এবং mailertable.db পুনর্নির্মাণ এবং এমসি> সিএফ ফাইলটি পুনরায় সংকলন করেছি) তবে আমি নিশ্চিত নই যে আমার এটি করার দরকার কি না বা আমি এটি সঠিকভাবে করছি কিনা।

domain.com esmtp:[aspmx.l.google.com]

আমি কীভাবে এটি ব্যবহারকারীর জন্য মেইলে আবদ্ধ করার অনুমতি পাব?

অতিরিক্ত তথ্য: এখানে আমার সেন্ডমেল.এমসি ফাইলটি রয়েছে:

divert(-1)dnl

include(`/usr/share/sendmail-cf/m4/cf.m4')dnl
VERSIONID(`setup for linux')dnl
OSTYPE(`linux')dnl

define(`confDEF_USER_ID', ``8:12'')dnl

define(`confTO_CONNECT', `1m')dnl
define(`confTRY_NULL_MX_LIST', `True')dnl
define(`confDONT_PROBE_INTERFACES', `True')dnl
define(`PROCMAIL_MAILER_PATH', `/usr/bin/procmail')dnl
define(`ALIAS_FILE', `/etc/aliases')dnl
define(`STATUS_FILE', `/var/log/mail/statistics')dnl
define(`UUCP_MAILER_MAX', `2000000')dnl
define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl
define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl
define(`confAUTH_OPTIONS', `A')dnl

define(`confTO_IDENT', `0')dnl

FEATURE(`no_default_msa', `dnl')dnl
FEATURE(`smrsh', `/usr/sbin/smrsh')dnl
FEATURE(`mailertable', `hash -o /etc/mail/mailertable.db')dnl
FEATURE(`virtusertable', `hash -o /etc/mail/virtusertable.db')dnl
FEATURE(redirect)dnl
FEATURE(always_add_domain)dnl
FEATURE(use_cw_file)dnl
FEATURE(use_ct_file)dnl

FEATURE(local_procmail, `', `procmail -t -Y -a $h -d $u')dnl
FEATURE(`access_db', `hash -T<TMPF> -o /etc/mail/access.db')dnl
FEATURE(`blacklist_recipients')dnl

DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl

FEATURE(`accept_unresolvable_domains')dnl
FEATURE(`relay_based_on_MX')dnl
FEATURE(`relay_entire_domain')dnl

LOCAL_DOMAIN(`localhost.localdomain')dnl

MASQUERADE_AS(`domain.com')dnl
MASQUERADE_DOMAIN(`localhost.localdomain')dnl

EXPOSED_USER(`root')dnl

FEATURE(masquerade_envelope)dnl
FEATURE(masquerade_entire_domain)dnl

INPUT_MAIL_FILTER(`opendkim', `S=inet:8891@localhost')

MAILER(smtp)dnl
MAILER(procmail)dnl

1
আপনার প্রশ্নের যুক্তি সম্পূর্ণ ত্রুটিযুক্ত। এটি ফুটে উঠেছে "আমি আমার মেইল ​​প্রেরণের জন্য সেন্ডমেল ব্যবহার করতে চাই না। মেল প্রেরণের জন্য সেন্ডমেলকে কীভাবে অতিরিক্ত কনফিগারেশন দিয়ে পুনরায় কনফিগার করব কীভাবে সেন্ডমেল ডিফল্টরূপে মেল প্রেরণ করে?" উত্তর: একা রেখে দিন। হয় আপনার প্রশ্ন চাহিদা সেটা সম্পূর্ণ আপনার করছি কি জুড়ে পেতে পুনরায় ভাষায় হতে আসলে কি করার চেষ্টা, অথবা আপনি আপনার সার্ভারের কনফিগ অবাঞ্ছিত হস্তক্ষেপ বন্ধ করা এবং সেটিকে ভঙ্গ ছাড়া এটা করতে এটি কী জানানোর প্রয়োজন বোধ করি।
সম্মিচ

1
ঠিক আছে তাহলে. বিকল্পভাবে, আমাকে কেবল ব্যাখ্যা করুন যদি আমি কেবল সার্ভার থেকে ইমেল প্রেরণ করতে চাই এবং এটিতে না চাই তবে আমি কী করব।
অক্টোপাস

উত্তর:


8

অবশেষে আমি এখানে বরং একটি বিস্তৃত সমাধান পেয়েছি । সংক্ষেপে বলতে গেলে, এখানে বেশ কয়েকটি বিকল্প রয়েছে (যার বেশিরভাগ অংশ অন্যান্য উত্তরগুলিতে উল্লেখ করা হয়েছে, তবে যাই হোক না কেন কারণে আমার নির্দিষ্ট দৃশ্যে কাজ হয়নি)।

বিকল্প 1: / etc / মেইল ​​/ স্থানীয়-হোস্ট-নামগুলি থেকে এন্ট্রি সরান

আমার জন্য এই ফাইলটি ইতিমধ্যে খালি ছিল

বিকল্প 2: এমসি ফাইলে যে কোনও LOCAL_DOMAIN এন্ট্রি সরান

আমার কিছুই ছিল না

বিকল্প 3: প্রেরণ ইন্টারফেসে অনুসন্ধান না করতে পাঠান

define(`confDONT_PROBE_INTERFACES', `true')dnl

আমার ক্ষেত্রে এটি সেট করা ছিল, তবুও সমস্যাযুক্ত হোস্টটি এখনও পাঠানোর মেসেজের ক্লাসে উপস্থিত ছিল

বিকল্প 4: সার্ভারটির নতুন নাম দিন। উপরোক্ত প্রদত্ত বাহ্যিক লিঙ্কটি এমনকি সুনির্দিষ্টভাবে বলেছে, "আমি যদি ক্লাস ডাব্লু থেকে হুইপল.আর.আরোগ অপসারণ করতে চাই, তবে আমি সার্ভারটির নাম পরিবর্তন করে frodo.whipple.org, www.whipple.org, elvis.whipple.org করতে পারি could"

আমার জন্য এটি যথেষ্ট ছিল না। www.domain.com নামের হোস্টের সাথে , সেন্ডমেলস ক্লাস w এ এখনও উভয় www.domain.com এবং ডোমেইন ডটকম রয়েছে (এমনকি রিবুট হওয়ার পরেও)

বিকল্প 5: এটি আমার জন্য কাজ করে যা প্রেরণমেল এমসি ফাইলটিতে একটি LOCAL_RULE_0 যুক্ত করে

LOCAL_RULESETS
LOCAL_RULE_0
R$* < @domain.com. > $*  <tab>$#esmtp $@ mail.domain.com $: $1<@domain.com.>$2

এটি ফাইলের শেষে যেতে হবে এবং <tab>প্রকৃত ট্যাব অক্ষর হওয়া দরকার


আমি 5 বিকল্পের সাথে যেতে এবং একটি bestmxমানচিত্রকে জেনেরিক করতে ব্যবহার করব ।
অ্যাডামো

এই এক পুরোপুরি কাজ করে। অক্টোপাস LOCAL_RULESETS LOCAL_RULE_0 আর $ * <@ ডোমেন ডট কমের জন্য ধন্যবাদ। > $ * <tab> es # esmtp $ @ mail.domain.com $: $ 1 <@ domain.com।> .com 2 ফাইলটির শেষে যেতে হবে এবং <ট্যাব> আসলে আপনার পরিবর্তে ট্যাব কী ব্যবহার করতে হবে কোড.
বিনোধ কুমার

7

সার্ভারের হোস্ট-নেম পরিবর্তন করুন। কোনও নগ্ন ডোমেন নামের সমতুল্য হোস্টনামের কোনও বৈধ কারণ নেই।


হ্যাঁ, আমি চেষ্টা করেছি, এমনকি যখন আমি হোস্টনামটি www.domain.com এ সেট করি তখনও সেন্ডমেইল www.domain.com, ডোমেন ডটকম এবং লোকালহোস্টের জন্য সবকিছু আবদ্ধ রাখতে চায়। আমি দেখতে পাচ্ছি যে আমি যখন ডিবাগ মোডে সেন্ডমেল চালাই এবং $ = w লিখি। আমি ব্যাখ্যা করতে প্রশ্নটি সামান্যতম বর্ণিত।
অক্টোপাস

3

আপনার প্রশ্নের আমার বোঝার বিষয়টি এখানে:

  1. আপনি সেন্ডমেল ইনস্টল করেছেন যাতে আপনি এটি আপনার ওয়েবসাইট থেকে ইমেল প্রেরণের জন্য ব্যবহার করতে পারেন।

  2. আপনি আপনার পাবলিক ডিএনএস নেমস্পেসের জন্য সেন্ডমেলকে অনুমোদনযোগ্য ইমেল সার্ভার হিসাবে কনফিগার করেছেন।

  3. আপনি চান না যে সেন্ডমেলটি আপনার সর্বজনীন ডিএনএস নেমস্পেসের জন্য অনুমোদনযোগ্য হোক। আপনি চান আপনার পাবলিক ডিএনএস নেমস্পেসে প্রেরিত ইমেলটি আপনার গুগল হোস্ট করা ইমেইলে প্রেরণ করতে চান।

সমাধান: সেন্ডমেলটিকে পুনরায় কনফিগার করুন যাতে এটি আপনার সর্বজনীন ডিএনএস নেমস্পেসের জন্য অনুমোদিত না হয়।


2
আমার প্রশ্নটি সেন্ডমেল কনফিগারেশন সম্পর্কে। আপনার উত্তর "পুনরায় কনফিগার করা সেন্ডমেল" এর চেয়ে আরও নির্দিষ্ট হতে পারে?
অক্টোপাস

0

আমি সেন্ডমেল কনফিগারেশন নিয়ে খুব অভিজ্ঞ নই, তবে আমার মনে হয় এটি এমএক্স রেকর্ডের ক্ষেত্রে সঠিকভাবে করা উচিত। যাইহোক, আমি কল্পনা করি যে এটি সম্ভব হতে পারে যে ডিএনএস অনুসন্ধানের /etc/hostsআগে, ডিএনএস সার্ভারগুলি ব্যবহারের আগে সেন্ডমেল বেশিরভাগ ইউনিক্স ভিত্তিক অপারেটিং সিস্টেমে স্থানীয় হোস্ট ফাইলের সাথে পরামর্শ করে। যদি এটি হয়, এবং হোস্ট ফাইলটিতে এমন একটি এন্ট্রি রয়েছে যা আপনার মেশিনটিকে ডোমেইন ডটকম হিসাবে উল্লেখ করে যদি আপনি সেটিকে হোস্টনাম হিসাবে সেট করেন তবে যা হতে পারে তা হতে পারে। আপনি এন্ট্রিগুলি সংশোধন করে বা একটি নতুন যুক্ত করে এই বিশেষ ক্ষেত্রে আপনার প্রয়োজন অনুসারে হোস্ট ফাইলটি সম্পাদনা করতে পারেন।

অথবা ইউআরএলগুলি সমাধান করার সময় আপনি স্থানীয় সিস্টেম হোস্ট ফাইলটিকে উপেক্ষা করার জন্য সেন্ডমেলটি কনফিগার করতে পারেন। আমি কীভাবে করব তা নিশ্চিত নই।


0

1) সেন্ডমেল স্বয়ংক্রিয়ভাবে স্থানীয় ইমেল ডোমেনের তালিকা পূরণ করে ( $=w)।

আপনি আপনার সেন্ডমেল.এমসিতে নিম্নলিখিত লাইনটি ব্যবহার করে এটি বন্ধ করতে পারবেন না:

define(`confDONT_PROBE_INTERFACES',`True')

আপনি স্থানীয় ইমেলগুলি /etc/mail/local-host-namesফাইলটিতে "ম্যানুয়ালি" যুক্ত করতে পারেন ।
(এটির জন্য HUPing বা সেন্ডমেল ডেমন পুনরায় চালু করা দরকার)

2) সেন্ডমেল $jস্থানীয় ইমেল ডোমেনগুলির তালিকায় "এই হোস্ট ইমেইল নাম" ( ) সংযুক্ত করতে পারে (স্বতঃরক্ত) ured

আপনি "এই হোস্ট ইমেইল নাম" সংজ্ঞায়িত করতে পারেন

define(`confDOMAIN_NAME',`hostname.example.net')

3) তালিকাভুক্ত ডোমেনগুলির সরবরাহের জন্য পরামর্শ নেওয়া mailertableহয় না$=w


তবে সংজ্ঞা দিন ( confDONT_PROBE_INTERFACES',সত্য ') ইতিমধ্যে সক্ষম (এবং সর্বদা সক্ষম হয়েছে)
অক্টোপাস

সুতরাং আপনার
কেসটি

এই সমস্ত ভাল পরামর্শ যা Ive পুরোপুরি অন্বেষণ করেছে তবে আমি বিশ্বাস করি যে বিকল্প 2 স্থানীয়-হোস্ট-নেম ফাইলে হোস্ট যুক্ত করার মতোই। এই ক্ষেত্রে আমি কোনও হোস্টকেই অন্তর্ভুক্ত করতে চাই না।
অক্টোপাস

0

কোডটি যে মেলটি প্রেরণ করছে, আপনি কি একটি সম্পূর্ণ ইমেল ঠিকানা ব্যবহার করছেন, বা আপনি সার্ভারটি কোনও স্থানীয় অ্যাকাউন্টের মাধ্যমে মেইল ​​আউট করছেন? কারণ:

এটি সেন্ডমেলকে স্থানীয়ভাবে সমস্ত মেইল ​​ইউজার্স_লোক্যালহস্ট.লোকালডোমনে পৌঁছে দেওয়ার জন্য বলছে

LOCAL_DOMAIN(`localhost.localdomain')dnl

এবং এটি প্রেরণমেলকে স্থানীয় ঠিকানায় ডোমেনগুলি ডোমেইন ডটকম এ আবার লিখতে বলছে, তবে স্থানীয় সরবরাহের ক্ষেত্রে কোনও পরিবর্তন হয় না

MASQUERADE_AS(`domain.com')dnl
MASQUERADE_DOMAIN(`localhost.localdomain')dnl

ঠিক আছে তাহলে. বিকল্পভাবে, আমাকে কেবল ব্যাখ্যা করুন যদি আমি কেবল সার্ভার থেকে ইমেল প্রেরণ করতে চাই এবং এটিতে না চাই তবে আমি কী করব।

পদক্ষেপ 1: ডিফল্ট কনফিগারেশনে ফিরে যান।
পদক্ষেপ 2: ডিফল্ট কনফিগার ব্যবহার করুন।


হ্যাঁ ঠিক আছে তবে, আমি user@domain.com এ প্রেরণ করছি। ডিফল্ট কনফিগারেশনে আমি ঠিক একই ধরণের সমস্যায় পড়েছি যা আমি প্রশ্নের মধ্যে উল্লেখ করেছি।
অক্টোপাস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.