我想在创建用户后为用户使用电子邮件确认。为此我安装了插件Email Confirmation 2.0.8。我使用的是grails 2.3.7版本。我做了以下尝试,虽然我不知道它。但我的雅虎帐户中没有发送任何电子邮件。有人可以帮我吗?以下是我的尝试:
在我的配置文件中插件>>>
plugin.emailConfirmation.from = '"Do not reply" <noreply@mymegacorp.com>'
在我的视图页面&gt;&gt;&gt;
中<g:form controller="userInformation" action="saveUserInfo">
User E-mail Address : <g:textField name="userEmail" id="userEmail" required=""/>
<br/>
<g:submitButton name="submit" id="submit" value="Save User"/>
</g:form>
在我的控制器中,操作&gt;&gt;&gt;
def saveUserInfo() {
println(params)
// Send a simple confirmation
emailConfirmationService.sendConfirmation(
to:params.userEmail,
subject:"Please confirm!")
}
编辑:: 这是我的新配置文件&gt;&gt;&gt;
// locations to search for config files that get merged into the main config;
// config files can be ConfigSlurper scripts, Java properties files, or classes
// in the classpath in ConfigSlurper format
// grails.config.locations = [ "classpath:${appName}-config.properties",
// "classpath:${appName}-config.groovy",
// "file:${userHome}/.grails/${appName}-config.properties",
// "file:${userHome}/.grails/${appName}-config.groovy"]
// if (System.properties["${appName}.config.location"]) {
// grails.config.locations << "file:" + System.properties["${appName}.config.location"]
// }
grails.project.groupId = appName // change this to alter the default package name and Maven publishing destination
// The ACCEPT header will not be used for content negotiation for user agents containing the following strings (defaults to the 4 major rendering engines)
grails.mime.disable.accept.header.userAgents = ['Gecko', 'WebKit', 'Presto', 'Trident']
grails.mime.types = [ // the first one is the default format
all: '*/*', // 'all' maps to '*' or the first available format in withFormat
atom: 'application/atom+xml',
css: 'text/css',
csv: 'text/csv',
form: 'application/x-www-form-urlencoded',
html: ['text/html','application/xhtml+xml'],
js: 'text/javascript',
json: ['application/json', 'text/json'],
multipartForm: 'multipart/form-data',
rss: 'application/rss+xml',
text: 'text/plain',
hal: ['application/hal+json','application/hal+xml'],
xml: ['text/xml', 'application/xml']
]
// URL Mapping Cache Max Size, defaults to 5000
//grails.urlmapping.cache.maxsize = 1000
// What URL patterns should be processed by the resources plugin
grails.resources.adhoc.patterns = ['/images/*', '/css/*', '/js/*', '/plugins/*']
grails.resources.adhoc.includes = ['/images/**', '/css/**', '/js/**', '/plugins/**']
// Legacy setting for codec used to encode data with ${}
grails.views.default.codec = "html"
// The default scope for controllers. May be prototype, session or singleton.
// If unspecified, controllers are prototype scoped.
grails.controllers.defaultScope = 'singleton'
// GSP settings
grails {
views {
gsp {
encoding = 'UTF-8'
htmlcodec = 'xml' // use xml escaping instead of HTML4 escaping
codecs {
expression = 'html' // escapes values inside ${}
scriptlet = 'html' // escapes output from scriptlets in GSPs
taglib = 'none' // escapes output from taglibs
staticparts = 'none' // escapes output from static template parts
}
}
// escapes all not-encoded output at final stage of outputting
// filteringCodecForContentType.'text/html' = 'html'
}
}
grails.converters.encoding = "UTF-8"
// scaffolding templates configuration
grails.scaffolding.templates.domainSuffix = 'Instance'
// Set to false to use the new Grails 1.2 JSONBuilder in the render method
grails.json.legacy.builder = false
// enabled native2ascii conversion of i18n properties files
grails.enable.native2ascii = true
// packages to include in Spring bean scanning
grails.spring.bean.packages = []
// whether to disable processing of multi part requests
grails.web.disable.multipart=false
// request parameters to mask when logging exceptions
grails.exceptionresolver.params.exclude = ['password']
// configure auto-caching of queries by default (if false you can cache individual queries with 'cache: true')
grails.hibernate.cache.queries = false
// configure passing transaction's read-only attribute to Hibernate session, queries and criterias
// set "singleSession = false" OSIV mode in hibernate configuration after enabling
grails.hibernate.pass.readonly = false
// configure passing read-only to OSIV session by default, requires "singleSession = false" OSIV mode
grails.hibernate.osiv.readonly = false
environments {
development {
grails.logging.jul.usebridge = true
}
production {
grails.logging.jul.usebridge = false
// TODO: grails.serverURL = "http://www.changeme.com"
}
}
// log4j configuration
log4j = {
// Example of changing the log pattern for the default console appender:
//
//appenders {
// console name:'stdout', layout:pattern(conversionPattern: '%c{2} %m%n')
//}
error 'org.codehaus.groovy.grails.web.servlet', // controllers
'org.codehaus.groovy.grails.web.pages', // GSP
'org.codehaus.groovy.grails.web.sitemesh', // layouts
'org.codehaus.groovy.grails.web.mapping.filter', // URL mapping
'org.codehaus.groovy.grails.web.mapping', // URL mapping
'org.codehaus.groovy.grails.commons', // core / classloading
'org.codehaus.groovy.grails.plugins', // plugins
'org.codehaus.groovy.grails.orm.hibernate', // hibernate integration
'org.springframework',
'org.hibernate',
'net.sf.ehcache.hibernate'
}
// Email Confirmation configration -- (plugin)
plugin.emailConfirmation.from = '"Do not reply" <noreply@mymegacorp.com>'
// For Mail Plugin Configuration
//grails {
// mail {
// host = "smtp.correo.yahoo.es"
// port = 465
// username = "bappi_sumon@yahoo.com"
// password = "password"
// props = [ "mail.smtp.auth":"true",
// "mail.smtp.socketFactory.port":"465",
// "mail.smtp.socketFactory.class":"javax.net.ssl.SSLSocketFactory",
// "mail.smtp.socketFactory.fallback":"false" ]
// }
//}
grails {
mail {
host = "smtp.gmail.com"
port = 465
username = "pshoikot@gmail.com"
password = "password"
props = ["mail.smtp.auth":"true",
"mail.smtp.socketFactory.port":"465",
"mail.smtp.socketFactory.class":"javax.net.ssl.SSLSocketFactory",
"mail.smtp.socketFactory.fallback":"false"]
}
}
这是我的仅发送电子邮件而非确认&gt;&gt;&gt;
的观点<g:form controller="sendMail" action="sendMail">
<g:submitButton name="submit" value="Send Mail"/>
</g:form>
这是我的仅发送电子邮件&gt;&gt;&gt;
的操作def mailService
def sendMail() {
mailService.sendMail {
to "bappi_sumon@yahoo.com"
from "bappi_sumon@yahoo.com"
subject "Hello Bappi"
body 'this is some text'
}
}
我的发送确认视图&gt;&gt;&gt;
<g:form controller="userInformation" action="saveUserInfo">
User E-mail Address : <g:textField name="userEmail" id="userEmail" required=""/>
<br/>
<g:submitButton name="submit" id="submit" value="Save User"/>
</g:form>
我的发送确认操作&gt;&gt;&gt;
def emailConfirmationService
def saveUserInfo() {
println(params)
// Send a simple confirmation
emailConfirmationService.sendConfirmation(
to:params.userEmail,
subject:"Please confirm!")
}
答案 0 :(得分:0)
检查配置文件并编辑主机服务器端口号并提供用户名或密码。
您还可以尝试使用Grails发送异步邮件。 http://fletchermcbeth.wordpress.com/2009/06/16/sending-email-from-grails/
答案 1 :(得分:0)
Email Confirmation plugin
在内部使用grails mail plugin
发送邮件,为此您必须在配置文件中添加以下代码:
plugin.emailConfirmation.from = '"Do not reply" <noreply@mymegacorp.com>'
grails {
mail {
host = "smtp.gmail.com"
port = 465
username = "SENDER_EMAIL_ADDRESS"
password = "PASSWORD"
props = ["mail.smtp.auth": "true",
"mail.smtp.socketFactory.port": "465",
"mail.smtp.socketFactory.class": "javax.net.ssl.SSLSocketFactory",
"mail.smtp.socketFactory.fallback": "false"]
}
}
注意: - 以上配置适用于gmail
。如果您要从yahoo
发送邮件,则需要稍加更改see mail plugin for configuration for yahoo和其他邮件。
答案 2 :(得分:0)
对于雅虎......
grails {
mail {
host = "smtp.correo.yahoo.es"
port = 465
username = "myuser"
password = "mypassword"
props = [ "mail.smtp.auth":"true",
"mail.smtp.socketFactory.port":"465",
"mail.smtp.socketFactory.class":"javax.net.ssl.SSLSocketFactory",
"mail.smtp.socketFactory.fallback":"false" ]
}
}