grails acegi使用----注冊時發送email
Posted on 2010-04-20 18:29 asdtiang 閱讀(367) 評論(0) 編輯 收藏 所屬分類: grails study 在這里記一下,注冊時發送出email就行了,至于如果運行配置和運行acegi在官網上就能查到。
useMail = true
mailHost = "smtp.sina.com"
mailUsername = "xxxxxxx"
mailPassword = "xxxxxxx"
mailProtocol = "smtp"
mailFrom = "xxxxxxx@sina.com"
mailPort = 25
javaMailProperties=["mail.smtp.auth":"true","mail.smtp.socketFactory.fallback":"false"]
defaultRole="user"
defaultTargetUrl = "/login/main.gsp"
其中javaMailProperties=["mail.smtp.auth":"true","mail.smtp.socketFactory.fallback":"false"]是關鍵,spring的email默認不進行認證的,如果只加"mail.smtp.auth":"true",也不行,問了下網友,加上后面的屬性就行了。
在這里也學習到grails的service歸約規則:
8. The Service Layer
天蒼蒼,野茫茫,風吹草底見牛羊
useMail = true
mailHost = "smtp.sina.com"
mailUsername = "xxxxxxx"
mailPassword = "xxxxxxx"
mailProtocol = "smtp"
mailFrom = "xxxxxxx@sina.com"
mailPort = 25
javaMailProperties=["mail.smtp.auth":"true","mail.smtp.socketFactory.fallback":"false"]
defaultRole="user"
defaultTargetUrl = "/login/main.gsp"
其中javaMailProperties=["mail.smtp.auth":"true","mail.smtp.socketFactory.fallback":"false"]是關鍵,spring的email默認不進行認證的,如果只加"mail.smtp.auth":"true",也不行,問了下網友,加上后面的屬性就行了。
在這里也學習到grails的service歸約規則:
Grails服務的一個重要方面是,有能力利用Spring 框架的依賴注入能力。 Grails支持 "依賴注入通過規約". 換句話說,你可以使用一個屬性名表示的一個服務的類名,自動把他們注入到 controllers, tag libraries,等等。
作為示例,給定的服務名為BookService
,
如果你像下面這樣在controller中放置一個名為bookService
的屬性:
class BookController { def bookService … }
在這種情況下,Spring 容器將自動注入一個基于它自己配置作用域的服務實體。所有的依賴注入是通過名字的; Grails 不支持類型注入。你也可以像下面這樣指定類型:
class AuthorService { BookService bookService }
不過, 存在副作用,即在開發模式下BookService
的改變會在加載時拋出一個錯誤。
依賴注入與服務
你可以使用相同的技術在一個服務中注入另一個服務。如果說,你的AuthorService
需要一個
BookService
, 可以像下面這樣聲明 AuthorService
:
class AuthorService { def bookService }
依賴注入與Domain類
你甚至可以在domain類中注入服務,這可以幫助開發出各種豐富的domain:
class Book { … def bookService def buyBook() { bookService.buyBook(this) } }
天蒼蒼,野茫茫,風吹草底見牛羊