我只是想驗證控制器中的電子郵件地址,我認爲這很簡單。我做的方法如下:控制器中的電子郵件驗證Grails
def emailTheAttendees(String email) {
def user = lookupPerson()
if (!email.isEmpty()) {
def splitEmails = email.replaceAll("//s+","").split(",")
splitEmails.each {
def String currentEmail = it
sendMail {
to currentEmail
System.out.println("what's in to address:"+ currentEmail)
subject "Your Friend ${user.username} has invited you as a task attendee"
html g.render(template:"/emails/Attendees")
}
}
}
}
這工作,併發送電子郵件到有效的電子郵件地址:
def emailValidCheck(String emailAddress) {
EmailValidator emailValidator = EmailValidator.getInstance()
if (!emailAddress.isAllWhitespace() || emailAddress!=null) {
String[] email = emailAddress.replaceAll("//s+","").split(",")
email.each {
if (emailValidator.isValid(it)) {
return true
}else {return false}
}
}
}
這正與Sendmail的功能,我的代碼是在這裏使用,但是如果我隨意放置一些不是地址的東西,只會破壞sendMail異常。我不明白爲什麼它沒有正確驗證,甚至進入了正在保存方法中調用的emailTheAttendees()方法。
我看到了一個電子郵件正則表達式一次。它像4頁長。 –
您的email.each閉包中的返回僅返回閉包的當前迭代。 – wwwclaes
@JamesKleeh - 這可能只涵蓋_common_個案! – cdeszaq