SendGrid - 使用sendgrid-java.jar

时间:2016-05-17 03:38:45

标签: java eclipse maven lambda sendgrid

我第一次使用SendGrid。在这方面,我已经看过关于SO的其他问题,但没有一个对我有用。

我正在使用Eclipse和Amazon Web Services - Lambda。 我使用的库是https://github.com/sendgrid/sendgrid-java

我的方案是,我使用Lambda函数向选择电子邮件通信的用户发送电子邮件。

这是我的代码:

                        Email email = new Email();
                        email.addTo(DEV_TO_EMAIL);
                        email.addToName("XXXXX");
                        email.setFrom(DEV_FROM_EMAIL);
                        email.setSubject("XX");
                        email.setText("sms_message");

                        try {
                            sendgrid.send(email);
                        } catch (SendGridException e) {
                            e.printStackTrace();

                            if(DEBUG)
                                logger.log("Exception while sending Email");
                        }

以下是例外:

    Could not initialize class 

org.apache.http.impl.conn.ManagedHttpClientConnectionFactory: java.lang.NoClassDefFoundError java.lang.NoClassDefFoundError: Could not initialize class org.apache.http.impl.conn.ManagedHttpClientConnectionFactory at 

org.apache.http.impl.conn.PoolingHttpClientConnectionManager$InternalConnectionFactory.<init>(PoolingHttpClientConnectionManager.java:493) at 

org.apache.http.impl.conn.PoolingHttpClientConnectionManager.<init>(PoolingHttpClientConnectionManager.java:149) at 

org.apache.http.impl.conn.PoolingHttpClientConnectionManager.<init>(PoolingHttpClientConnectionManager.java:138) at 

org.apache.http.impl.conn.PoolingHttpClientConnectionManager.<init>(PoolingHttpClientConnectionManager.java:114) at 

org.apache.http.impl.client.HttpClientBuilder.build(HttpClientBuilder.java:726) at 

com.sendgrid.SendGrid.<init>(SendGrid.java:71) at 

xx.LambdaFunction.handleRequest(LambdaFunction.java:183) at 

xx.LambdaFunction.handleRequest(LambdaFunction.java:1)

我尝试在SO Sendgrid Java Not working in Maven上遵循此建议,但也导致同样的错误。

有关该怎么做的任何建议?如果您还有其他需要,请告诉我..

1 个答案:

答案 0 :(得分:0)

我尝试了在SO上发布的大部分解决方案,但无法让它发挥作用。最后,我切换到使用SendGrid4j。这是在添加httpclient,httpcore,httpmime以及gson,jackson-core,库之后的效果。

sendgid4j的链接 - https://github.com/shunjikonishi/sendgrid4j