繁体   English   中英

使用gmail(SVN)后提交邮件

[英]post-commit mails using gmail (SVN)

我花了很多时间。 但是我仍然被困住。

我运行Ubuntu 12.04。

我已经设置了SVN,并且工作正常。 现在,我想在每次提交时发送精美的电子邮件,因此我安装了svnnotify并应用了--css-inlne补丁。 发布 )。

不太安全的访问处于启用状态,我可以使用phpmailer发送电子邮件。

经过数小时的Google搜索,我问你。

我尝试了以下方法:

提交后

#!/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     noreply@donbolli.ch                     \
    --smtp-pass     pass                                    \
    --smtp-tls                                              \
    --to            receiver@gmail.com                      \
    --from          noreply@donbolli.ch                     \
    --with-diff                                             \
    --subject-cx                                            \
    --subject-prefix        'Share: '                       \
    --handler HTML::ColorDiff                               \
    --css-inline
    2>&1 &

exit 0

结果是:

donbolli@luna585:~$ ./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            receiver@gmail.com          \
    --from          noreply@donbolli.ch                     \
    --with-diff                                             \
    --subject-cx                                            \
    --subject-prefix        'Share: '                       \
    --handler HTML::ColorDiff                               \
    --css-inline
    2>&1 &

exit 0

结果是

donbolli@luna585:~$ ./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)

donbolli@luna585:~$ cat /home/donbolli/sendmail.py
#!/usr/bin/perl
use MIME::Lite;
use Net::SMTPS;

my $msg = MIME::Lite ->new (
From => 'noreply@donbolli.ch',
To => 'receiver@gmail.com',
Type => 'text/html; charset=UTF-8'
);

...

我的提交后

 #!/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 /usr/sbin/sendmail \\ --to recriver@gmail.com \\ --from noreply@donbolli.ch \\ --with-diff \\ --subject-cx \\ --subject-prefix 'Share: ' \\ --handler HTML::ColorDiff \\ --css-inline 2>&1 & exit 0 

我按照sendmail的说明进行工作。

感谢xxfelixxx

安装sendmail

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM