我第一次使用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上遵循此建议,但也导致同样的错误。
有关该怎么做的任何建议?如果您还有其他需要,请告诉我..
答案 0 :(得分:0)
我尝试了在SO上发布的大部分解决方案,但无法让它发挥作用。最后,我切换到使用SendGrid4j。这是在添加httpclient,httpcore,httpmime以及gson,jackson-core,库之后的效果。
sendgid4j的链接 - https://github.com/shunjikonishi/sendgrid4j