Я уже установил Bugzilla и стараюсь, чтобы функция рассылки работала. Очевидно, для этого он может использовать linux sendmail. Я даже не знаю, как работает электронная почта. Я много искал в Интернете учебник, чтобы объяснить, как работает весь процесс (sendmail, SMTP, домены и т. Д.)
Может ли кто-нибудь указать мне на учебник, который объясняет основы, а затем поможет установить sendmail, чтобы Bugzilla могла отправлять исходящие электронные письма?
p.s. У меня нет домена. Это будет запускаться с нашего сервера разработки. НУЖЕН ли вам отдельный почтовый сервер или домен для работы sendmail? Мне не нужно получать электронные письма, просто отправьте их!
Нашел идеальное решение для настройки Bugzilla с gmail SMTP. Это немного взломано, но ничего лучше не нашел.
Проблема в том, что SMTP Gmail работает через SSL, и bugzilla не поддерживает его. Итак, вам нужно установить модуль perl Email :: Send :: SMTP :: TLS и настроить код Bugzilla. Все это объясняется здесь: --www.dawood.in/bugzilla_alerts_using_gmail.html
ВНИМАНИЕ: вам необходимо добавить следующие две строки кода (пропущенные в учебнике) в Mailer.pm, строка 57: my $ smtp_server; мой $ emtp_port;
Удачи!
Возвращаясь к этому, потому что недавно было обновление безопасности для bugzilla на debian. По умолчанию deb перезаписывает /usr/share/perl5/Bugzilla/Mailer.pm. Это означает, что мы должны повторить процесс изменения кода, как описано ранее (www.dawood.in/bugzilla_alerts_using_gmail.html).
В общем, вот что вам нужно сделать:
1) modify /usr/share/perl5/Bugzilla/Mailer.pm and add "use Email::Send::SMTP::TLS;"
2) modify /usr/share/perl5/Bugzilla/Mailer.pm and add "my ($smtp_server,$smtp_port);" under "sub MessageToMTA {"
3) search in /usr/share/perl5/Bugzilla/Mailer.pm for "SMTP" and change the if-clause to following:
if ($method eq "SMTP" || $method eq "SMTP::TLS") {
($smtp_server,$smtp_port) = split /:/,Bugzilla->params->{"smtpserver"};
push @args, Host => $smtp_server,
User => Bugzilla->params->{"smtp_username"},
Password => Bugzilla->params->{"smtp_password"},
Hello => $hostname,
Debug => Bugzilla->params->{'smtp_debug'};
push @args, Port => $smtp_port if($smtp_port);
}
Bugzilla -> Конфигурация -> Электронная почта
Да, вам нужен SMTP-сервер
Выберите sendmail, если он работает на сервере Linux, на котором установлена и работает sendmail (попробуйте запустить службу sendmail в оболочке)
Или выберите SMTP и добавьте сервер smtp в smtpserver, если у вас есть «бесплатная» учетная запись, возможно, у них есть SMTP-сервер, который вы можете использовать (потребуется пользователь / пароль).
Вот вопросы, на которые вы действительно должны ответить, прежде чем сможете дать какие-либо полезные ответы:
Вы хотите, чтобы люди получали электронную почту от Bugzilla. Вы хотите, чтобы они получали его на уже существующие адреса электронной почты (например, на чью-либо учетную запись Gmail), или вы хотите создать для них адреса электронной почты?
По умолчанию sendmail, вероятно, будет запущен на вашем сервере. Я не знаю, какой дистрибутив вы используете, но очень велики шансы, что одна из двух команд установит его, если это не так:
Для систем на основе RedHat это сделает 'yum -y install sendmail', а для систем на основе Debian 'apt-get install sendmail' сделает то же самое.
По умолчанию sendmail позволяет отправлять электронную почту в существующие домены. Чтобы проверить это, введите в командной строке
эхо-тест | mail -s "Тест 1" your-email@domain.com
Поскольку я новый участник, мне не разрешено размещать гиперссылки, но быстрый поиск в Google учебника по Linux sendmail даст вам достаточно.
Я постараюсь ответить на все ваши вопросы здесь: (извините, у меня здесь была временная учетная запись, к которой я больше не могу получить доступ после удаления файлов cookie: S) @Kyle - Я пытаюсь отправить электронное письмо в обычном режиме такие домены, как yahoo, gmail и т. д. Ничего особенного здесь не происходит - я не думаю, что могу использовать postfix, поскольку у Bugzilla есть только следующие параметры: SMTP, Sendmail, None.
@Javier - У меня установлен sendmail и запущен демон (ps aux | grep sendmail) - Я попытался создать учетную запись gmail со следующим: * SMTP-сервер: smtp.google.com * smpt_user и stmp_pass также были установлены ( проверил их) Теперь он говорит, что отправил электронные письма (больше не жалуется, что не может отправлять электронные письма), но в почтовый ящик ничего не приходит! Я ДЕЙСТВИТЕЛЬНО хотел бы использовать эту опцию, так как это кажется самым простым способом.
@ standalone-sysadmin - Я использую Ubuntu 8.10 - проверенный эхо-тест | mail -s "Test 1" your-email@domain.com и вот что я получаю: программу mail можно найти в следующих пакетах: * heirloom-mailx * mailutils Попробуйте: apt-get install -bash: mail: команда не найдена
Я сделал "apt-get install mailutils", и теперь, когда я запускаю команду, она ничего не жалуется и не говорит, но в мой почтовый ящик не приходит почта. - Я уже много раз искал руководства по sendmail, но большинство из них ДЕЙСТВИТЕЛЬНО усложняют работу, так что я не мог точно за ними следить.
Еще раз спасибо за вашу помощь, ребята.
строка 58 должна быть моим $ smtp_port;