GIT-SEND-EMAIL(1) Git Manual GIT-SEND-EMAIL(1) نام (NAME) git-send-email - ارسال مجموعه‌ای از وصله‌ها به صورت ایمیل خلاصه دستور (SYNOPSIS) git send-email [] (|)... git send-email [] git send-email --ump-aliases git send-email --ranslate-aliases توضیحات (DESCRIPTION) وصله‌های داده‌شده در خط فرمان را دریافت کرده و آن‌ها را از طریق ایمیل ارسال می‌کند. وصله‌ها را می‌توان به صورت فایل، دایرکتوری (که تمام فایل‌های موجود در دایرکتوری را ارسال می‌کند)، یا مستقیماً به صورت فهرستی از بازنگری‌ها مشخص کرد. در حالت آخر، هر قالبی که توسط git-format-patch(1) پذیرفته می‌شود و همچنین گزینه‌های قابل فهم برای git-format-patch(1) را می‌توان به git send-email ارسال کرد. هدر ایمیل از طریق گزینه‌های خط فرمان قابل پیکربندی است. اگر در خط فرمان مشخص نشود، از طریق یک رابط با قابلیت ReadLine اطلاعات لازم از کاربر پرسیده خواهد شد. دو قالب برای فایل‌های وصله پذیرفته می‌شود: 1. فایل‌های قالب mbox این همان چیزی است که git-format-patch(1) تولید می‌کند. اکثر هدرها و قالب‌بندی‌های MIME نادیده گرفته می‌شوند. 2. قالب اصلی استفاده‌شده توسط اسکریپت send_lots_of_email.pl گرگ کروآ-هارتمن این قالب انتظار دارد سطر اول فایل حاوی مقدار Cc: و سطر دوم حاوی Subject: پیام باشد. گزینه‌ها (OPTIONS) نگارش و آماده‌سازی (Composing) --nnotate بررسی و ویرایش هر وصله‌ای که در شرف ارسال آن هستید. مقدار پیش‌فرض مقدار sendemail.annotate است. برای sendemail.multiEdit بخش پیکربندی را ببینید. --=
,... تعیین یک مقدار Bcc: برای هر ایمیل. مقدار پیش‌فرض مقدار sendemail.bcc است. این گزینه می‌تواند چندین بار مشخص شود. --c=
,... تعیین یک مقدار اولیه Cc: برای هر ایمیل. مقدار پیش‌فرض مقدار sendemail.cc است. این گزینه می‌تواند چندین بار مشخص شود. --ompose فراخوانی یک ویرایشگر متن (GIT_EDITOR را در git-var(1) ببینید) برای ویرایش یک پیام مقدماتی برای مجموعه وصله‌ها. هنگامی که از --ompose استفاده می‌شود، git send-email از هدرهای From، To، Cc، Bcc، Subject، Reply-To و In-Reply-To مشخص‌شده در پیام استفاده خواهد کرد. اگر بدنه پیام (آنچه بعد از هدرها و یک خط خالی تایپ می‌کنید) تنها شامل خطوط خالی (یا خطوطی با پیشوند Git:) باشد، خلاصه ارسال نخواهد شد، اما هدرهای ذکرشده در بالا استفاده می‌شوند مگر اینکه حذف شوند. هدرهای مفقود From یا In-Reply-To از کاربر پرسیده خواهند شد. برای sendemail.multiEdit بخش پیکربندی را ببینید. --om=
فرستنده ایمیل‌ها را مشخص می‌کند. اگر در خط فرمان مشخص نشود، از مقدار گزینه پیکربندی sendemail.from استفاده می‌شود. اگر نه گزینه خط فرمان و نه sendemail.from تنظیم نشده باشند، مقدار از کاربر پرسیده می‌شود. پیش‌فرض در اعلان ورودی، مقدار GIT_AUTHOR_IDENT خواهد بود، یا اگر آن هم تنظیم نشده باشد GIT_COMMITTER_IDENT، همان‌طور که توسط git var -l بازگردانده می‌شود. --eply-to=
نشانی‌ای را که پاسخ‌های دریافت‌کنندگان باید به آن ارسال شود مشخص می‌کند. اگر پاسخ پیام‌ها باید به آدرسی غیر از آدرس مشخص‌شده با پارامتر --om ارسال شود، از این گزینه استفاده کنید. --in-reply-to= باعث می‌شود اولین ایمیل (یا تمام ایمیل‌ها در صورت استفاده از --0-thread) به عنوان پاسخی به Message-ID داده‌شده ظاهر شوند، که از شکستن رشته‌ها (threads) برای ارائه یک مجموعه وصله جدید جلوگیری می‌کند. دومین و ایمیل‌های بعدی طبق تنظیمات --R[no-]chain-reply-to به عنوان پاسخ ارسال خواهند شد. بنابراین برای مثال هنگامی که --hread و --0-chain-reply-to مشخص شده باشند، وصله‌های دوم و بعد از آن به عنوان پاسخ به اولین وصله ارسال می‌شوند، همان‌طور که در تصویر زیر نشان داده شده است که [PATCH v2 0/3] در پاسخ به [PATCH 0/2] است: [PATCH 0/2] Here is what I did... [PATCH 1/2] Clean up and tests [PATCH 2/2] Implementation [PATCH v2 0/3] Here is a reroll [PATCH v2 1/3] Clean up [PATCH v2 2/3] New tests [PATCH v2 3/3] Implementation تنها زمانی لازم است که --ompose نیز تنظیم شده باشد. اگر --ompose تنظیم نشده باشد، این مقدار از کاربر پرسیده خواهد شد. --otlook-id-fix سرورهای SMTP مایکروسافت اوت‌لوک Message-ID ارسالی از طریق ایمیل را نادیده گرفته و یک Message-ID تصادفی جدید اختصاص می‌دهند، و بدین ترتیب ساختار رشته‌ها را می‌شکنند. با -- دستور git send-email از سازوکاری ویژه سرورهای Outlook استفاده می‌کند تا Message-ID اختصاص‌داده‌شده توسط سرور را بیاموزد و ساختار زنجیره پیام‌ها را اصلاح کند. تنها زمانی از آن استفاده کنید که می‌دانید سرور بازنویسی Message-ID را به همان روش سرورهای Outlook گزارش می‌دهد. بدون تعیین این گزینه، این اصلاح به طور پیش‌فرض هنگام برقراری ارتباط با smtp.office365.com یا smtp-mail.outlook.com انجام می‌شود. برای غیرفعال کردن آن حتی در هنگام ارتباط با این دو سرور، از --0-outlook-id-fix استفاده کنید. --bject= موضوع اولیه زنجیره ایمیل را مشخص می‌کند. تنها زمانی لازم است که --ompose نیز تنظیم شده باشد. اگر --ompose تنظیم نشده باشد، این مقدار از کاربر پرسیده خواهد شد. --o=
,... گیرنده اصلی ایمیل‌های تولیدشده را مشخص می‌کند. معمولاً این شخص نگه‌دارنده بالادستی پروژه مربوطه خواهد بود. مقدار پیش‌فرض مقدار پیکربندی sendemail.to است؛ اگر مشخص نشده باشد و --o-cmd نیز داده نشده باشد، از کاربر پرسیده خواهد شد. این گزینه می‌تواند چندین بار مشخص شود. --8bit-encoding= هنگام مواجهه با یک پیام یا موضوع غیر-ASCII که کدگذاری خود را اعلام نکرده است، هدرها/نقل‌قول‌هایی اضافه می‌کند تا نشان دهد در کدگذاری شده است. مقدار پیش‌فرض مقدار sendemail.assume8bitEncoding است؛ اگر تعیین نشده باشد، در صورت مواجهه با هر فایل غیر-ASCII از کاربر پرسیده خواهد شد. توجه داشته باشید که هیچ تلاشی برای اعتبارسنجی کدگذاری انجام نمی‌شود. --ompose-encoding= کدگذاری پیام compose را مشخص می‌کند. مقدار پیش‌فرض مقدار sendemail.composeEncoding است؛ اگر تعیین نشده باشد، UTF-8 فرض می‌شود. --ransfer-encoding=(7bit|8bit|quoted-printable|base64|auto) کدگذاری انتقال مورد استفاده برای ارسال پیام از طریق SMTP را مشخص می‌کند. 7bit در صورت مواجهه با یک پیام غیر-ASCII با خطا متوقف می‌شود. quoted-printable می‌تواند زمانی مفید باشد که مخزن شامل فایل‌هایی با کاراکترهای carriage return باشد، اما بررسی دستی فایل خام ایمیل وصله (همان‌طور که از یک MUA ذخیره شده) را بسیار دشوارتر می‌کند. base64 حتی خطاناپذیرتر است، اما بسیار ناخواناتر و غیرشفاف‌تر نیز هست. auto در صورت امکان از 8bit و در غیر این صورت از quoted-printable استفاده خواهد کرد. پیش‌فرض مقدار پیکربندی sendemail.transferEncoding است؛ در صورت عدم تعیین، پیش‌فرض auto خواهد بود. --ailer افزودن (یا جلوگیری از افزودن) هدر X-Mailer:. به‌طور پیش‌فرض، این هدر اضافه می‌شود، اما می‌توان با تنظیم متغیر پیکربندی sendemail.xmailer روی false آن را خاموش کرد. ارسال (Sending) --\nvelope-sender=
فرستنده پاکت (envelope sender) مورد استفاده برای ارسال ایمیل‌ها را مشخص می‌کند. این زمانی مفید است که آدرس پیش‌فرض شما همان آدرسی نباشد که در یک لیست پستی عضو است. برای استفاده از آدرس From، مقدار را روی auto قرار دهید. اگر از باینری sendmail استفاده می‌کنید، باید امتیازات مناسبی برای پارامتر -f داشته باشید. پیش‌فرض مقدار متغیر پیکربندی sendemail.envelopeSender است؛ اگر تعیین نشده باشد، انتخاب فرستنده پاکت به MTA شما واگذار می‌شود. --ndmail-cmd= دستوری را برای اجرا جهت ارسال ایمیل مشخص می‌کند. دستور باید شبیه به sendmail باشد؛ به‌ویژه باید از گزینه -i پشتیبانی کند. دستور در صورت لزوم در شل اجرا خواهد شد. پیش‌فرض مقدار sendemail.sendmailCmd است. در صورت عدم تعیین، و اگر --tp-server نیز تعیین نشده باشد، git send-email به دنبال sendmail در مسیرهای /usr/sbin، /usr/lib و $PATH می‌گردد. --tp-encryption= مشخص می‌کند که رمزنگاری برای اتصال SMTP چگونه آغاز شود. مقادیر معتبر ssl و tls هستند. هر مقدار دیگری به SMTP ساده (رمزنگاری‌نشده) برمی‌گردد که به پورت پیش‌فرض ۲۵ متصل می‌شود. علی‌رغم نام‌ها، هر دو مقدار از همان نسخه جدیدتر TLS استفاده می‌کنند، اما به دلایل تاریخی این نام‌ها را دارند. ssl به رمزنگاری «ضمنی» (گاهی SMTPS نامیده می‌شود) اشاره دارد که به‌طور پیش‌فرض از پورت ۴۶۵ استفاده می‌کند. tls به رمزنگاری «صریح» (اغلب به عنوان STARTTLS شناخته می‌شود) اشاره دارد که به‌طور پیش‌فرض از پورت ۲۵ استفاده می‌کند. پورت‌های دیگری نیز ممکن است توسط سرور SMTP استفاده شوند که پیش‌فرض نیستند. پورت جایگزین رایج برای tls و رمزنگاری‌نشده ۵۸۷ است. برای اطمینان از وضعیت سیستم خود باید مستندات ارائه‌دهنده یا پیکربندی سرور خود را بررسی کنید. پیش‌فرض مقدار sendemail.smtpEncryption است. --tp-domain= نام دامنه کاملاً واجد شرایط (FQDN) مورد استفاده در دستور HELO/EHLO به سرور SMTP را مشخص می‌کند. برخی سرورها الزام دارند که FQDN با آدرس IP شما مطابقت داشته باشد. اگر تنظیم نشود، git send-email تلاش می‌کند FQDN شما را به صورت خودکار تشخیص دهد. پیش‌فرض مقدار sendemail.smtpDomain است. --tp-auth= فهرستی از سازوکارهای مجاز SMTP-AUTH که با فاصله جدا شده‌اند. این تنظیم استفاده از تنها سازوکارهای فهرست‌شده را تحمیل می‌کند. مثال: $ git send-email --tp-auth="PLAIN LOGIN GSSAPI" ... اگر حداقل یکی از سازوکارهای مشخص‌شده با موارد تبلیغ‌شده توسط سرور SMTP مطابقت داشته باشد و توسط کتابخانه SASL مورد استفاده پشتیبانی شود، آن سازوکار برای احراز هویت استفاده می‌شود. اگر نه sendemail.smtpAuth و نه --tp-auth مشخص نشده باشد، تمام سازوکارهای پشتیبانی‌شده توسط کتابخانه SASL قابل استفاده خواهند بود. مقدار ویژه none می‌تواند برای غیرفعال کردن کامل احراز هویت به صورت مستقل از --tp-user مشخص شود. --tp-pass[=] گذرواژه برای SMTP-AUTH. آرگومان اختیاری است: اگر آرگومانی مشخص نشود، از رشته خالی به عنوان گذرواژه استفاده می‌شود. پیش‌فرض مقدار sendemail.smtpPass است، با این حال --tp-pass همیشه بر این مقدار اولویت دارد. علاوه بر این، نیازی نیست گذرواژه‌ها در فایل‌های پیکربندی یا در خط فرمان مشخص شوند. اگر نام کاربری مشخص شده باشد (با --tp-user یا sendemail.smtpUser)، اما هیچ گذرواژه‌ای تعیین نشده باشد (با --tp-pass یا sendemail.smtpPass)، آنگاه گذرواژه با استفاده از git- credential(1) به دست می‌آید. --0-smtp-auth غیرفعال کردن احراز هویت SMTP. فرم کوتاه برای --tp-auth=none. --tp-server= سرور خروجی SMTP را مشخص می‌کند (مانند smtp.example.com یا یک آدرس IP خام). در صورت عدم تعیین، و اگر --ndmail-cmd نیز تعیین نشده باشد، پیش‌فرض جستجو برای sendmail در /usr/sbin، /usr/lib و $PATH در صورت موجود بودن چنین برنامه‌ای است، و در غیر این صورت به localhost بازمی‌گردد. برای سازگاری با گذشته، این گزینه می‌تواند مسیر کامل یک برنامه شبیه به sendmail را نیز مشخص کند؛ برنامه باید از گزینه -i پشتیبانی کند. این روش از ارسال آرگومان یا استفاده از نام‌های دستور ساده پشتیبانی نمی‌کند. برای این موارد کاربرد، استفاده از --ndmail-cmd را مد نظر قرار دهید. --tp-server-port= پورتی متفاوت از پورت پیش‌فرض را مشخص می‌کند (سرورهای SMTP معمولاً به پورت ۲۵ گوش می‌دهند، اما ممکن است به پورت ارسال ۵۸۷ یا پورت متداول SSL SMTP یعنی ۴۶۵ نیز گوش دهند)؛ نام‌های نمادین پورت (مانند submission به‌جای ۵۸۷) نیز پذیرفته می‌شوند. پورت را می‌توان با متغیر پیکربندی sendemail.smtpServerPort نیز تنظیم کرد. --tp-server-option=