从Grails控制器触发电子邮件

时间:2016-08-02 17:52:07

标签: email grails plugins cron quartz-scheduler

我写了一个发送电子邮件的groovy控制器:

package com.test

class LibraryController {
    def mailService
    def sendEmail() {
        mailService.sendMail{
            to "test@gmail.com"
            from "receive@gmail.com"
            subject "Testing email system"
            body "Hi Checking the service"
        }
        render "test"
    }
}

当我拿走网址时 - > http://server_name:8080/library/sendEmail,它会发送电子邮件。 我试着在cron中添加这个命令(在linux服务器中),如:

crontab -e
*/5 * * * * http://server_name:8080/library/sendEmail

但它没有通过每5分钟运行一次来​​发送电子邮件。

请帮忙!

1 个答案:

答案 0 :(得分:4)

在你的cron表达式中将curl放在url之前。 像那样:

*/5 * * * * curl http://server_name:8080/library/sendEmail

curlwget会拨打您的网址并发送电子邮件。

但是,如果我可以建议另一种方法来安排你的grails应用程序中的任务。我推荐Quartz-PluginScheduledExecutorService,最后一个是java的原生。