我有SVN在Ubuntu 11.04 32位上運行,現在需要使用我的GMAIL帳戶進行每次提交的通知。通過GMAIL SMTP的SVN通知
我已經提交了一些東西,但實際上並沒有收到他們的提交郵件。沒有顯示任何錯誤,並且我查看了整個日誌,但還沒有發現很多有用的信息。
我已閱讀相當多的帖子關於此和編輯下面的文件,包括他們現在包含的內容。我試過使用sendmail和postfix,但沒有與他們的運氣,因此這就是爲什麼我使用谷歌的郵件服務器。如果有人能指出我朝着正確的方向或另一種方法,我將不勝感激。
我找到並使用的鏈接。
http://sadomovalex.blogspot.com/2009/12/use-gmail-smtp-server-for-post-commit.html
http://iffee.wordpress.com/2009/04/08/svn-commit-to-google-apps-email-notification/
-commit.tmpl後
REPOS="$1"
REV="$2"
/home/megaz/svn/repos/ya/hooks/mailer.py commit "$REPOS" \
"$REV" /home/megaz/svn/repos/ya/hooks/mailer.conf
mailer.conf
[general]
smtp_hostname = smtp.gmail.com:587
smtp_username = #mygmailaddress
smtp_password = #mygmailpassword
smtp_use_ssl = true
smtp_use_tls = 1
[defaults]
diff = /usr/bin/diff -u -L %(label_from)s -L %(label_to)s %(from)s %(to)s
commit_subject_prefix = [SVN-Commit]
propchange_subject_prefix =
lock_subject_prefix =
unlock_subject_prefix =
from_addr = #my from address
to_addr = #my to address
reply_to = #my replyto address
generate_diffs = none
show_nonmatching_paths = yes
[maps]
mailer.py
class SMTPOutput(MailedOutput):
def start(self, group, params):
MailedOutput.start(self, group, params)
self.buffer = StringIO()
self.write = self.buffer.write
self.write(self.mail_headers(group, params))
def finish(self):
server = smtplib.SMTP(self.cfg.general.smtp_hostname)
# 2009-12-13 asadomov: add ssl configuration (e.g. for gmail smtp server)
if self.cfg.is_set('general.smtp_use_ssl') and self.cfg.general.smtp_use_ssl.lower() == "true":
server.ehlo()
server.starttls()
server.ehlo()
if self.cfg.is_set('general.smtp_username'):
server.login(self.cfg.general.smtp_username,
self.cfg.general.smtp_password)
server.sendmail(self.from_addr, self.to_addrs, self.buffer.getvalue())
server.quit()
請編輯您的帖子添加到底是什麼問題,錯誤輸出等等。另外,把你的「問題」作爲一個問題來說是很好的。 – agf
我的歉意是,我沒有收到mailer.conf中指定的郵件地址中的提交郵件。 – Unleashed
'mailer.py'似乎沒有做任何事情,它只是一個類定義,或者你只發布文件的一部分?無論如何,試着讓它在命令行中起作用。 – tripleee