إعداد البريد الإلكتروني جيتلاب:إرسال عبر خادم بريد آخر
-
12-12-2019 - |
سؤال
افتراضيا جيتلاب لديه التكوين التالي في gitlab.yml
:
email:
from: notify@gitlabhq.com
host: gitlabhq.com
ولكن ، أحتاج إلى تحديد متغيرات أخرى (المضيف ، المنفذ ، المستخدم ، كلمة المرور ، الخ) لاستخدام خادم بريد آخر.
كيف أفعل ذلك?
المحلول
هذا أربكني أيضا.ولكن لتغيير إعداد البريد ، يمكنك تحريرها في التكوين / البيئات / الإنتاج.رب فقط إضافة التكوين.أكتيون_مايلر.سمتب_إعدادات مثل التطبيق القضبان العادية.
نصائح أخرى
الآن هو مختلف تماما في جيتلاب 5.2+.
هو في " /الصفحة الرئيسية/جيت/جيتلاب/التكوين/إنيتياليزرز / سمتب_إعدادات.(آر بي).عينة " ونحن بحاجة فقط إلى اتباع التعليمات في ذلك.
ملاحظة:كانت هذه الطريقة مفيدة للإصدارات القديمة من جيتلاب. انظر الجواب من جيريش للإصدارات الأحدث.
في نهاية التكوين / البيئات / الإنتاج.رب يمكنك إضافة شيء من هذا القبيل:
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => 'yourserver.com',
:port => 25,
:domain => 'gitlab.yourserver.com',
:authentication => :plain,
:user_name => 'gitlab@yourserver.com',
:password => 'yourPassword',
:enable_starttls_auto => true
}
راجع وثائق أكتيونمايلر للحصول على وصف أكثر تفصيلا للتكوينات الممكنة: http://api.rubyonrails.org/classes/ActionMailer/Base.html
ملاحظة:قد تضطر إلى تحرير الملف مرة أخرى بعد تحديث جيتلاب
ل جيتلاب > 7 الجامع ، تحرير /etc/gitlab/gitlab.rb
على النحو التالي وتشغيل sudo gitlab-ctl reconfigure
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.server"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "smtp user"
gitlab_rails['smtp_password'] = "smtp password"
gitlab_rails['smtp_domain'] = "example.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_openssl_verify_mode'] = 'none'
المصدر: https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/smtp.md
ال email:host:
التكوين في gitlab.yml
ليس في الواقع لخادم البريد / المضيف سمتب.انها تستخدم لبناء وصلات إلى المضيف جيتلاب الخاص بك في البريد الإلكتروني.نحن ندعو خادم جيتلاب لدينا ' جيتلاب.المحلية ' (ولها إدخال دنس لذلك) ، لذلك يقول التكوين لدينا host: gitlab.local
.
بهذه الطريقة ، عندما يتلقى المستخدمون بريدا إلكترونيا من جيتلاب ، ستعمل الروابط ، بدلا من الارتباط بـ http://localhost/
, ، كما هو الافتراضي.
هناك بعض التكوين الزائد هناك.لعناوين المواقع استنساخ جيت ليتم عرضها بشكل صحيح داخل جيتلاب ، تحتاج أيضا إلى تكوين web:host:
و git_host:host:
مع نفس اسم المضيف.
web:
host: gitlab.local
port: 80
https: false
email:
host: gitlab.local
protocol: http
git_host:
host: gitlab.local
إذا كنت تستخدم الشبكي ، تغيير web:https:
, web:port:
, ، و email:protocol:
.
هذه هي إدخالاتي في النهاية في / التكوين / البيئة / الإنتاج.رب وهذا يعمل بالنسبة لي.
التعليق على خيارات سيندمايل واستخدام التبديلات سمتب الخارجية
# #config.action_mailer.delivery_method = :sendmail ## Comment out this
# Defaults to:
# # config.action_mailer.sendmail_settings = {
# # :location => '/usr/sbin/sendmail',
# # :arguments => '-i -t'
# # }
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true
# # SMTP Settings
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => '10.146.10.90', ## My SMTP Relay/Gateway
:port => 25, ## SMTP Port
:domain => 'gitlab.example.com', ## My Domain
:authentication => :plain, ## Let it be plain as it is inside my LAN
##:user_name => 'gitlab@yourserver.com', ## This is not required as long as
##:password => 'yourPassword', ## SMTP Gateway allows anonymous relay
##:enable_starttls_auto => true ## In LAN
##:user_name => '',
##:password => '',
:enable_starttls_auto => true
}
end
يبدو أن موقع هذه الإعدادات قد تغير (عدة مرات) منذ طرح هذا السؤال في الأصل.حاليا اعتبارا من 2018-11-02:
الإعدادات في gitlab.rb
حسب الوثائق الرسمية: