0

我有这个问题,我似乎无法轻易解决。

我想从 GWT webApp 中发送电子邮件。在将代码放入服务器端并按照预期使用异步接口调用它方面,我做的一切都是正确的。所以一切都很好,除了当我执行发送电子邮件功能时,我收到一个 mailexception 类型的错误和 AccessControlException 类型的内部异常"access denied (java.net.SocketPermission <my smtp server> resolve)"

现在我在一个普通的 Java 控制台应用程序中测试了这个功能,它运行良好。所以我想我需要添加一些代码以某种方式授予访问权限。任何人都可以帮助我吗?

这是发送电子邮件的代码:

    public void SendMail(String name, String email, String message) throws EmailException{
    Email email1 = new SimpleEmail();
    email1.setHostName("mysmtpserver");
    email1.setSmtpPort(25);
    email1.setAuthenticator(new DefaultAuthenticator("myemail", "mypwd"));
    email1.setTLS(false);
    email1.setFrom(email);
    email1.setSubject("Feedback from your website");
    email1.setMsg(escapeHtml(message));
    email1.addTo("targetemail");
    email1.send();
}

这就是调用它的类的代码:

public class SiteDataServiceImpl extends RemoteServiceServlet implements SiteDataService {
@Override
public boolean SendEmail(String name, String email, String message) throws IllegalArgumentException {
    try {
        new Common().SendMail(name, email, message);
        return true;
    } catch (EmailException e) {
        e.printStackTrace();
        return false;
    }
}

}

PS:起初我以为我需要包含mail.jar存档,但它已经包含在gwt工具包中,所以它不是问题的原因。我正在将 Jetty 与 Eclipse 一起使用。

4

1 回答 1

0

好的,这听起来可能很奇怪,但我将代码部署在开发服务器(linux)上,它就像一个魅力。

在我的机器上是一个 Windows 机器,它仍然无法正常工作,并且仍然出现同样的错误。但由于它可以在开发机器上运行,我很高兴。

然而这仍然不能解释原因......

于 2011-06-24T22:04:57.597 回答