2016-06-19 1 views
0

Я потратил много времени. Но я все еще застрял.почтовые отправления с использованием gmail (SVN)

Я запускаю Ubuntu 12.04.

У меня есть SVN, и он работает нормально. Теперь я хочу отправить хорошие E-Mail на каждом коммите, поэтому я установил svnnotify и применил патч --css-inlne. (post).

Менее безопасный доступ включен, я могу отправлять электронные письма с использованием phpmailer.

После многих часов, потраченных на googleing, я прошу вас.

Я попытался следующие:

после совершения:

#!/bin/sh 

REV=$2 
REPO=$1 

/usr/local/bin/trac-admin /var/www/trac/htdocs/share changeset added "svn" $REV 

# email notifications for commits 
/usr/bin/svnnotify --repos-path "$REPO" --revision "$REV" \ 
    --smtp   smtp.gmail.com       \ 
    --smtp-port  587          \ 
    --smtp-user  [email protected]      \ 
    --smtp-pass  pass         \ 
    --smtp-tls            \ 
    --to   [email protected]      \ 
    --from   [email protected]      \ 
    --with-diff            \ 
    --subject-cx           \ 
    --subject-prefix  'Share: '      \ 
    --handler HTML::ColorDiff        \ 
    --css-inline 
    2>&1 & 

exit 0 

Результаты в:

[email protected]:~$ ./post-commit /var/www/svn/share 9 
Couldn't start TLS: SSL connect attempt failed because of handshake problems error:1409442E:SSL routines:SSL3_READ_BYTES:tlsv1 alert protocol version 
at /usr/share/perl5/SVN/Notify.pm line 2390. 

Так что я искал эту ошибку, но ничего не нашел.

Так что я попробовал другой подход

после совершения:

#!/bin/sh 

REV=$2 
REPO=$1 

/usr/local/bin/trac-admin /var/www/trac/htdocs/share changeset added "svn" $REV 

# email notifications for commits 
/usr/bin/svnnotify --repos-path "$REPO" --revision "$REV" \ 
    --sendmail  /home/donbolli/sendmail.py    \ 
    --to   [email protected]   \ 
    --from   [email protected]      \ 
    --with-diff            \ 
    --subject-cx           \ 
    --subject-prefix  'Share: '      \ 
    --handler HTML::ColorDiff        \ 
    --css-inline 
    2>&1 & 

exit 0 

Результаты в

[email protected]:~$ ./post-commit /var/www/svn/share 9 
Can't exec "/home/donbolli/sendmail.py": No such file or directory at /usr/share/perl5/SVN/Notify.pm line 2332. 
Cannot exec /home/donbolli/sendmail.py: No such file or directory 

Но файл существует (и 755)

[email protected]:~$ cat /home/donbolli/sendmail.py 
#!/usr/bin/perl 
use MIME::Lite; 
use Net::SMTPS; 

my $msg = MIME::Lite ->new (
From => '[email protected]', 
To => '[email protected]', 
Type => 'text/html; charset=UTF-8' 
); 

... 
+0

Вы не указали код крючка. – bahrep

+0

Что это значит? Пост-фиксация - это крючок –

+0

Глядя на мужество 'SVN :: Notify', похоже, что параметр' sendmail' ожидает путь к действительной команде sendmail (/ usr/bin/sendmail в моей системе), которую вы возможно, потребуется установить. http://stackoverflow.com/questions/10359437/sendmail-how-to-configure-sendmail-on-ubuntu – xxfelixxx

ответ

0

мой пост-фиксация;

#!/bin/sh 
 

 
REV=$2 
 
REPO=$1 
 

 
/usr/local/bin/trac-admin /var/www/trac/htdocs/share changeset added "svn" $REV 
 

 
# email notifications for commits 
 
/usr/bin/svnnotify --repos-path "$REPO" --revision "$REV" \t \ 
 
\t --sendmail \t \t /usr/sbin/sendmail \t \t \t \t \t \t \ 
 
\t --to \t \t \t [email protected]  \t \t \t \t \ 
 
    --from \t \t \t [email protected] \t \t \t \t \t \t \ 
 
    --with-diff \t \t \t \t \t \t \t \t \t \t \t \t \ 
 
    --subject-cx \t \t \t \t \t \t \t \t \t \t \t \ 
 
    --subject-prefix \t \t 'Share: ' \t \t \t \t \t \t \ 
 
    --handler HTML::ColorDiff \t \t \t \t \t \t \t \t \ 
 
    --css-inline 
 
    2>&1 & 
 

 
exit 0

работы после того, как я следовал инструкции Sendmail.

Благодаря xxfelixxx

install sendmail

+0

Отлично! Рад, что это сработало. – xxfelixxx

+0

Использование указанного исполняемого файла sendmail. Я не знал, что это означает, что вам нужно использовать sendmail. Я думал, что вы можете использовать любой исполняемый файл там. Еще раз спасибо! –