| DBMAIL.CONF(5) | DBMAIL.CONF(5) |
نام (NAME)
dbmail.conf - پرونده پیکربندی برای عامل تحویل پیام DBMail.
خلاصه دستور (SYNOPSIS)
این پرونده دارای ۸ بخش است: DBMAIL، SMTP، LMTP، POP، IMAP، SIEVE، LDAP، DELIVERY. پرونده پیکربندی پیشفرض دارای مستندات برای تمام تنظیمات است.
توضیحات (DESCRIPTION)
# پرونده پیکربندی برای DBMAIL
#
# Copyright (c) 2000-2006 IC&S, The Netherlands
# Copyright (c) 2004-2013 NFG Net Facilities Group BV support@nfg.nl
# Copyright (c) 2014-2019 Paul J Stevens, The Netherlands, support@nfg.nl
# Copyright (c) 2020-2026 Alan Hicks, Persistent Objects Ltd support@p-o.co.uk
#
[DBMAIL]
###################
# تنظیمات پایگاهداده
#
# نشانی یکپارچه منبع (URI) اتصال به پایگاهداده
#
# ساختار به صورت زیر است:
# database://[user:password@][host][:port]/database[?name=value][&name=value]...
#
# احتمالاً یکی از موارد زیر مورد نظر شماست:
# dburi = mysql://user:password@db.example.com:3306/dbmail
# dburi = postgresql://user:password@db.example.com:5432/dbmail
dburi = sqlite:///var/tmp/dbmail.db
# احراز هویت و جستجوی نشانی ایمیل
#
# درایورهای پشتیبانیشده sql و ldap هستند
#
# کلاینت openldap از سرورهای ldap متعددی از جمله
# OpenLDAP و Microsoft Active Directory پشتیبانی میکند
#
# اگر ldap را انتخاب کردید، لطفاً بخش [LDAP] را پیکربندی کنید
authdriver = sql
#
# تعداد اتصالات پایگاهداده به ازای هر دیمن چندنخی
# این مقدار همچنین اندازه استخر نخهای کارگر (worker threadpool) را تعیین میکند
#
# این مقدار را بدون بررسی دقیق افزایش ندهید. یک استخر
# پایگاهداده/کارگر بسیار بزرگ، نهتنها فشار اتصال به پایگاهداده
# را افزایش میدهد، بلکه به شکل چشمگیری موجب تعویض زمینه
# (context-switching) غیرضروری در پردازندههای شما خواهد شد.
#
#max_db_connections = 10
#
# پیشوند جدولها. در صورت مشخص نشدن به "dbmail_" پیشفرض میشود.
#
table_prefix = dbmail_
###################
# شبکه
#
# نشانیهای IPv4 و/یا IPv6 که سرویسها به آنها متصل (bind) میشوند.
# برای تمام رابطهای محلی از * استفاده کنید.
# فقط برای localhost از 127.0.0.1 استفاده کنید.
# ورودیهای چندگانه را با فاصله ( ) یا کاما (,) جدا کنید.
#
bindip = 0.0.0.0 # فقط IPv4 - تمام IPها
#bindip = :: # هم IPv4 و هم IPv6 - تمام IPها (لینوکس)
#bindip = :: # فقط IPv6 - تمام IPها (BSD)
#bindip = 0.0.0.0,:: # هم IPv4 و هم IPv6 - تمام IPها (BSD)
#
# بیشینه طول صف اتصالات در انتظار. برای اطلاعات بیشتر
# به listen(2) مراجعه کنید
#
# backlog = 128
#
# مدتزمان مجاز بیکاری پیش از قطع اتصال.
#
timeout = 300
#
# مدتزمان مجاز بیکاری پیش از قطع اتصال در صورتی که هنوز وارد سیستم نشدهاید.
#
login_timeout = 60
#
# اگر yes باشد، هنگام ثبت وقایع، نشانیهای IP را به نامهای DNS ترجمه میکند.
#
resolve_ip = no
#
# اگر yes باشد، به چندین فرایند توزیع بار DBMail روی یک پورت مشابه اجازه فعالیت میدهد.
#
reuseport = no
###################
# امنیت لایه انتقال (TLS)
#
# گواهیهای SSL/TLS
#
# پروندهای شامل فهرستی از مرجعهای صدور گواهی (CA) در قالب PEM
tls_cafile =
# پروندهای شامل گواهی شما در قالب PEM
tls_cert =
# پروندهای شامل کلید ECDSA یا RSA شما در قالب PEM
tls_key =
# رشته فهرست الگوریتمهای رمزنگاری در قالب ارائهشده در openssl-ciphers(1)
# برای مقادیر پیشفرض openssl خالی بگذارید
tls_ciphers =
###################
# کدگذاری پیام
#
# کدگذاری باید با کدگذاری پایگاهداده/جدول مطابقت داشته باشد.
# یعنی latin1، utf8
encoding = utf8
#
# برای پیامهایی با کدگذاری نامشخص، فرض میشود دارای
# default_msg_encoding هستند
# یعنی iso8859-1، utf8
default_msg_encoding = utf8
#
# تنها ایمیلهای معتبر پذیرفته میشوند
# مقدار allow_invalid_messages را روی yes قرار دهید تا یک سرآیند mime اضافه شود
# که به dbmail اجازه میدهد پیامهای نامعتبر را ذخیره کند
allow_invalid_messages = no
#
# نشانی ایمیل مدیر پستچی (Postmaster) برای استفاده در پیامهای برگشتی (bounce).
#
#postmaster = DBMAIL-MAILER
###################
# ارسال ایمیلها
#
# برای استفاده از smtp به جای sendmail، مقدار mail_host را تعریف کنید
# smtp_host = smtp://smtp.example.com:587
#
# smtp_host
# smtp_user
# smtp_password
#
# فایل اجرایی Sendmail برای بازپخشها، پاسخها، اعلانها و مرخصیها.
# میتوانید در این دستور از لولهها (|) استفاده کنید، برای نمونه:
# dos2unix|/usr/sbin/sendmail با Qmail به خوبی کار میکند.
# میتوانید برای فایلهای اجرایی با نامهای نامتعارف از نقلقول (") استفاده کنید.
#
sendmail = /usr/sbin/sendmail
###################
# گزارشگیری وقایع (Logging)
#
# موارد زیر میتوانند در بخشهای اختصاصی هر سرویس بازنویسی (override) شوند.
#
#
# گزارشگیری به پرونده گزارش و syslog با استفاده از یکی از موارد زیر انجام میشود:
# emergency, alert, critical, error, warning, notice, info, debug, database, nothing
#
file_logging_levels = notice
syslog_logging_levels = warning
#
# مکان و نام پرونده گزارش. در صورت اجرا تحت docker یا systemd که انتظار
# دریافت و مدیریت خطوط گزارش را دارند، این مقدار را روی "stderr" قرار دهید.
#
logfile = /var/log/dbmail/dbmail.log
#
# اگر به یک سطح گزارشگیری خاص نیاز دارید، مقادیر عددی در دسترس هستند:
# گزارشگیری به ۸ سطح تقسیم شده است و هر سطح را میتوان به صورت جداگانه
# فعال یا غیرفعال کرد.
# پرونده Stderr/log تمامی ورودیها را در stderr یا پرونده لاگ ثبت میکند.
# گزارشگیری Syslog از دسته (facility) ایمیل و سطح گزارش رخداد برای
# ثبت استفاده میکند.
# سپس Syslog میتواند برای ثبت دادهها بر اساس این سطوح پیکربندی شود.
#
# سطح گزارشگیری را برابر با مجموع مقادیر کنار سطوحی که میخواهید ثبت شوند قرار دهید:
# 1 = اضطراری (Emergency)
# 2 = هشدار فوری (Alert)
# 4 = بحرانی (Critical)
# 8 = خطا (Error)
# 16 = اخطار (Warning)
# 32 = توجه (Notice)
# 64 = اطلاعاتی (Info)
# 128 = اشکالزدایی (Debug)
# 256 = پایگاهداده -> ثبت در سطح اشکالزدایی
#
# مثالها: 0 = هیچچیز
# 31 = Emergency + Alert + Critical + Error + Warning
# 511 = همهچیز
#
#
# تولید یک مدخل گزارش برای پرسوجوهای پایگاهداده در سطح گزارش متناسب با تعداد
# ثانیههای زمان اجرای پرسوجو.
#
query_time_info = 10
query_time_notice = 20
query_time_warning = 30
#
# پرتاب یک استثنا در صورتی که پرسوجو بیش از query_timeout ثانیه طول بکشد
query_timeout = 300
# زمان بر حسب ثانیه برای انتظار در استخر اتصالات متوقفشده پیش از خروج (پیشفرض: 90).
# این مقدار را بالاتر از بدترین حالت اتصال مجدد قابلبازیابی نگهدارید (حدود ۵۳ ثانیه: اتصال مجدد db_connect
# در آخرین تلاش پس از حدود ۵۰ ثانیه عقبنشینی تدریجی به اضافه ۳ ثانیه خواب پینگ موفق میشود)
# تا یک اختلال موقت در پایگاهداده تبدیل به راهاندازی مجدد فرایند نشود. توقف ناشی از شکست تمام تلاشها
# (حدود ۷۸ ثانیه) غیرقابلبازیابی است، بنابراین خروج پس از این نقطه رفتار مورد انتظار است. مقدار 90 از هر دو حالت میگذرد.
connection_pool_timeout = 90
###################
# دسترسیها و امتیازات (Privileges)
#
# از امتیازات کاربر ریشه (root) برای باز کردن پورت استفاده میشود، سپس امتیازات
# به کاربر/گروه مشخصشده در اینجا کاهش مییابد.
#
effective_user = nobody
effective_group = nobody
###################
# آمارها (Statistics)
#
# اگر yes باشد، آمار کاربران متصلشونده را در جدول authlog نگهداری میکند
#
authlog = no
###################
# مکان پروندهها
#
# دایرکتوری برای ذخیره پروندههای PID
#
pid_directory = /var/run/dbmail
#
# دایرکتوری برای یافتن کتابخانهها
# (معمولاً یک مقدار پیشفرض معقول به صورت کامپایلشده دارد)
#
#library_directory =
###################
# متفرقه
#
# الگوریتم درهمسازی (هش). میتوانید نوع هش دلخواه خود را برای
# تولید شناسههای یکتا برای بخشهای پیام انتخاب کنید.
#
# برای مقادیر معتبر، mhash(3) را بدون پیشوند _MHASH بررسی کنید.
#
# اگر زمانی این مقدار را تغییر دادید، دستور 'dbmail-util --rehash' را برای
# بهروزرسانی هش تمامی بخشهای mime اجرا کنید.
#
# مثالها: MD5, SHA1, SHA256, SHA512, TIGER, WHIRLPOOL
#
# hash_algorithm = SHA1
# تنظیم header_cache
#
# مقدار header_cache_readonly را روی 'yes' قرار دهید تا از
# کش شدن نامهای سرآیند ناشناخته جدید جلوگیری شود.
#
# header_cache_readonly = yes
# ذخیرهسازی پیام در پایگاهداده
# به منظور کاهش فضای ذخیرهسازی، بخشهای مجزای ایمیل به گونهای ذخیره میشوند
# که فضای اشغالشده کاهش یابد
# 0 = رفتار پیشفرض، بررسی هش، اندازه و محتوا
# 1 = بررسی هش و اندازه. از sha1 به بعد باید مناسب باشد و احتمال داشتن هش یکسان با اندازه برابر بسیار کم است
# 2 = هیچکدام را بررسی نکن، فقط درج کن؛ سریعترین حالت است اما فضای زیادی اشغال میکند.
#message_part_hash = 0
[LMTP]
port = 24
#tls_port =
[IMAP]
# راهبرد بارگذاری مجدد وضعیت IMAP. درون برنامه، DBMail اطلاعات گوناگونی را درباره
# پوشههای انتخابشده بارگذاری میکند (پرچمها، شناسههای پیام و غیره)
# 1 = بارگذاری کامل (پیشفرض)
# 2 = بارگذاری تفاضلی (آزمایشی)
# در برخی ساختارها استفاده از آن ممکن است سودمند باشد، زیرا بارگذاری مجدد
# به صورت تفاضلی انجام میشود که ممکن است منجر به مصرف کمتر پایگاهداده شود
# mailbox_update_strategy = 1
# راهبرد جستجوی IMAP.
# 1 = جستجوی کامل با sql (پیشفرض). تمام جستجوهای انجامشده روی پوشه جاری
# از طریق پرسوجوهای sql انجام میشوند.
# 2 = جستجوی بهینهشده، استفاده از جستجوی جزئی با sql (آزمایشی). برخی از جستجوها
# از طریق وضعیت بارگذاریشده پوشه جاری انجام خواهند شد.
# در برخی ساختارها استفاده از آن به دلیل بار کاری کمتر روی پایگاهداده ممکن است سودمند باشد.
# mailbox_search_strategy = 1
# فقط برای راهبرد بارگذاری مجدد IMAP (در صورت mailbox_search_strategy = 2)
# ممکن است پس از n تکرار، انجام یک بارگذاری مجدد کامل سودمند باشد. گاهی اوقات ممکن است
# بارگذاری مجدد کل وضعیت مفید باشد.
# -1 = بدون انقضا
# x = تعداد تکرارها. در صورتی که ایمیلی دریافت نشود (سرور در حالت IDLE)، این تکرارها
# میتوانند به ثانیه تبدیل شوند:
# mailbox_update_strategy_2_max_iterations * idle_timeout * idle_interval = s
#
# mailbox_update_strategy_2_max_iterations = 64
# اجازه گزارش وضعیت UNSEEN در دستور SELECT.
# هرچند RFC 3501 بیان میکند که این مورد الزامی است، نبود آن بدین معناست که
# کلاینت باید برای پیامهای دیدهنشده یک جستجو صادر کند
# 1 = مجاز بودن UNSEEN در دستور SELECT (پیشفرض)
# 0 = غیرمجاز بودن UNSEEN در دستور SELECT
# command_select_allow_unseen = 1
# در برخی موارد، کلاینتها دستور UID STORE xxxxx FLAGS.SILENT را صادر میکنند اما پس از آن به پرچمها نیاز دارند (احتمالاً ناشی از اشکالی در سمت آنها مانند Outlook)
#
# 0 = بخش .SILENT را نادیده نگیر و پرچمها را در UID FETCH بازنگردان (پیشفرض)
# 1 = بخش .SILENT را نادیده بگیر و در واکشی بعدی FLAGS را بازگردان (معمولاً به رفع مشکلی کمک میکند که در آن وضعیت خواندهشده تا زمان همگامسازی پوشه مجدداً به نخوانده تغییر مییابد)
#
# command_store_flags_silent_ignore_silent = 0
# راهبرد بهروزرسانی دنباله (Sequence) صندوق پستی.
# 1 = رفتار عادی، ایمن از نظر تراکنشی
# 2 = غیرتراکنشی، همچنان ایمن، ممکن است در محیطهای خوشهای بهتر باشد
# mailbox_update_seq_strategy = 1
# همگامسازی وضعیت حذف صندوق پستی (DELETE) و وضعیت پیام.
# در برخی موارد پیامهای علامتگذاریشده به عنوان حذفشده، فاقد وضعیت deleted هستند
# 1 = عادی، همگامسازی نکن
# 2 = همگامسازی کن
# mailbox_sync_deleted = 1
# اگر mailbox_sync_deleted=2 باشد، اندازه دسته (batch).
# با توجه به اینکه این پرچم اصلاحات را به صورت زنده انجام میدهد، تمهیدات
# حفاظتی باید برقرار باشد
# mailbox_sync_batch_size = 64
# میتوانید یک بنر جایگزین برای نمایش هنگام اتصال به سرویس تنظیم کنید
# banner = imap 4r1 server (dbmail 3.4.x)
#
# درگاه (پورت) برای اتصال و گوش دادن.
#
port = 143
#tls_port = 993
#
# سرویس IMAP زمان انتظار (timeout) طولانیتری نسبت به سایر سرویسها را ترجیح میدهد.
#
timeout = 4000
#
# اگر yes باشد، دسترسی SMTP را از نشانی IP میزبانی که از طریق IMAP متصل میشود مجاز میکند.
# این مورد نیازمند پیکربندی اضافی در MTA شماست
#
imap_before_smtp = no
#
# در طول وضعیت IDLE، فاصله زمانی به ثانیه میان بررسی وضعیت
# صندوق پستی (پیشفرض: 30)
#
# idle_timeout = 30
# در طول وضعیت IDLE، سرور هر چند وقت یکبار باید یک پیام '* OK' مبنی بر برقراری
# ارسال کند (پیشفرض: 10)
#
# زمان بین ارسال چنین پیامهایی برابر با حاصلضرب idle_timeout * idle_interval
# به ثانیه است
#
# idle_interval = 10
#
# اگر TLS فعال باشد، ورود به سیستم پیش از starttls معمولاً
# مجاز نیست. برای تغییر این مورد از login_disabled=no استفاده کنید
#
# login_disabled = yes
#
# در کدها از AUTH=CRAM-MD5 پشتیبانی میشود، اما این سازوکار
# رسماً منسوخ شده است و ممکن است بخواهید با استفاده از
# enable_cram_md5=no در اینجا آن را غیرفعال کنید.
#
# enable_cram_md5 = yes
#
# ارائه یک CAPABILITY برای بازنویسی مقدار پیشفرض
#
# capability = IMAP4 IMAP4rev1 AUTH=LOGIN ACL RIGHTS=texk NAMESPACE CHILDREN SORT QUOTA THREAD=ORDEREDSUBJECT UNSELECT IDLE
# بیشینه اندازه پیام. میتوانید بیشینه اندازه پیامی را که توسط دیمن
# IMAP در طول دستورهای APPEND پذیرفته میشود مشخص کنید.
#
# قالبهای پشتیبانیشده:
# دهدهی (decimal): 1000000
# هشتهشتی (octal): 03777777
# شانزدهشانزدهی (hex): 0xfffff
#
# max_message_size =
[SIEVE]
#
# پورت برای گوش دادن.
#
port = 4190
[LDAP]
# اگر کتابخانه LDAP شما از ()ldap_initialize پشتیبانی میکند، میتوانید از
# DSN سرور LDAP به صورت زیر استفاده کنید:
#
# URI = ldap://127.0.0.1:389
# URI = ldapi://%2fvar%2frun%2fopenldap%2fldapi
uri = ldap://example.com
# اگر کتابخانه LDAP شما از URIها پشتیبانی نمیکند، موارد زیر در دسترس هستند:
#port = 389
#version = 3
#hostnam = ldap
#base_dn = ou=People,dc=example,dc=com
#
# برای اتصال ناشناس (anonymous bind) خالی بگذارید.
# مثال: cn=admin,dc=mydomain,dc=com
#
bind_dn =
#
# برای اتصال ناشناس خالی بگذارید.
#
bind_pw =
scope = SubTree
# اگر در گزارشهای خود خطاهای 'Operations errors' مشاهده میکنید، کاربران Active Directory
# ممکن است بخواهند این مقدار را روی 'no' قرار دهند تا ارجاعات (referrals) در ldap غیرفعال شود
#
referrals = yes
user_objectclass = top,account,inetOrgPerson
forw_objectclass = top,account,dbmailUser
cn_string = uid
field_passwd = userPassword
field_uid = uid
field_nid = uidNumber
min_nid = 10000
max_nid = 15000
field_cid = gidNumber
min_cid = 10000
max_cid = 15000
# فهرستی از ویژگیها با جداکننده کاما برای تطبیق هنگام جستجوی
# کاربران یا هدایتهایی که با یک نشانی تحویل مطابقت دارند. تطبیق
# روی هر کدام از آنها یک نتیجه مثبت تلقی میشود.
field_mail = mail
# فیلدی که اندازه سهمیه ایمیل (mail-quota) کاربر را در خود نگه میدارد.
field_quota = mailQuota
# فیلدی که نشانی هدایت (forwarding) را نگه میدارد.
field_fwdtarget = mailForwardingAddress
# بازنویسی رشته پرسوجو برای جستجوی کاربران
# یا هدایتها با یک نشانی تحویل.
# query_string = (mail=%s)
[DELIVERY]
#
# اجرای اسکریپتهای Sieve هنگام تحویل پیامها.
#
SIEVE = yes
#
# استفاده از قالب 'user+mailbox@domain' برای تحویل به یک صندوق پستی.
#
SUBADDRESS = yes
#
# فعال/غیرفعال کردن افزونه مرخصی (Vacation) در Sieve.
#
SIEVE_VACATION = yes
#
# فعال/غیرفعال کردن افزونه اعلان (Notify) در Sieve
#
SIEVE_NOTIFY = no
#
# فعال/غیرفعال کردن اشکالزدایی تکمیلی Sieve.
#
SIEVE_DEBUG = no
# استفاده از جدول auto_notify برای ارسال اعلانهای ایمیلی.
#
AUTO_NOTIFY = no
#
# استفاده از جدول auto_reply برای ارسال پیامهای عدم حضور (away messages).
#
AUTO_REPLY = no
#
# به طور پیشفرض روی "NEW MAIL NOTIFICATION" تنظیم است
#
#AUTO_NOTIFY_SUBJECT =
#
# به طور پیشفرض روی مقدار POSTMASTER از بخش DBMAIL تنظیم است.
#
#AUTO_NOTIFY_SENDER =
# اگر این گزینه را روی 'yes' تنظیم کنید، dbmail پیامهای تکراری
# را در صندوق پستی مربوطه هنگام تحویل با استفاده از سرآیند
# Message-ID بررسی میکند
#
suppress_duplicates = no
#
# برگشت نرم (soft) یا سخت (hard) در صورت تحویل بیش از سهمیه (over-quota)
#
quota_failure = hard
[POP]
port = 110
#tls_port = 995
# میتوانید یک بنر جایگزین برای نمایش هنگام اتصال به سرویس تنظیم کنید
# banner = DBMAIL pop3 server ready to rock
# اگر TLS فعال باشد، ورود به سیستم پیش از starttls معمولاً
# مجاز است. برای تغییر این مورد از login_disabled=yes استفاده کنید
#
# login_disabled = no
#
# اگر yes باشد، دسترسی SMTP را از نشانی IP میزبانی که از طریق POP3 متصل میشود مجاز میکند.
# این مورد نیازمند پیکربندی اضافی در MTA شماست
#
pop_before_smtp = no
[HTTP]
port = 41380
#
# دیمن httpd دسترسی کامل به تمامی کاربران، صندوقهای پستی
# و پیامها فراهم میکند. در مورد این گزینه بسیار مراقب باشید!
bindip = 127.0.0.1
admin = admin:secret
# پایان پرونده پیکربندی
همچنین ببینید (SEE ALSO)
dbmail(1), dbmail.conf(5), dbmail-deliver(1), dbmail-export(8), dbmail-httpd(8), dbmail-imapd(8), dbmail-lmtpd(8), dbmail-pop3d(8), dbmail-sieved(8), dbmail-sievecmd(8), dbmail-users(8), dbmail-util(8)
اشکالات (BUGS)
برای دریافت تازهترین اعلانات، لطفاً در فهرست پستی اعلانات DBMail[1] عضو شوید.
برای بحث و گفتگوهای عمومی، لطفاً در فهرست پستی عمومی DBMail[2] عضو شوید.
اگر با مشکلی در DBMail مواجه شدید، لطفاً آن را در سامانه ردیابی اشکالات DBMail[3] گزارش کنید. در دسترس بودن یک گزارش اشکالزدایی (debug log) میتواند مفید باشد.
مجوز (LICENSE)
دیبیمیل (DBMail) و مؤلفههای آن تحت شرایط «مجوز عمومی همگانی گنو» نسخه ۲ (GNU GPL v2) توزیع میشوند. حق امتیاز نسخهبرداری به صورت گوناگون متعلق به نویسندگانی است که در زیر فهرست شدهاند.
نویسندگان (AUTHORS)
پروژه DBMail حاصل تلاشی جمعی میان توسعهدهندگان اصلی فهرستشده در زیر و کمکهای ارزشمند آزمایشکنندگان، ارائهدهندگان وصله و گزارشدهندگان اشکال است که در پروندههای AUTHORS و THANKS در توزیع مبدأ DBMail آورده شده است.
Alan Hicks Persistent Objects Ltd https://p-o.co.uk Eelco van Beek Aaron Stone Paul J Stevens Roel Rozendaal Open Source Engineer NFG Net Facilities Group BV Ilja Booij Palo Alto, CA USA http://www.nfg.nl IC&S http://www.ic-s.nl
نویسنده (AUTHOR)
Alan Hicks <ahicks@p-o.co.uk>
نکات (NOTES)
- 1.
- فهرست پستی اعلانات DBMail
- 2.
- فهرست پستی عمومی DBMail
- 3.
- سامانه ردیابی اشکالات DBMail
| 08/28/2026 |