我尝试通过 AWS 凭证发送邮件,但出现异常
java.lang.NoClassDefFoundError: org/apache/http/conn/scheme/SchemeSocketFactory
我添加了这些罐子:
- aws-java-sdk-1.3.11.jar
- aws-java-sdk-1.3.11-javadoc.jar
- aws-java-sdk-1.3.11-sources.jar
- aws-java-sdk-flow-build-tools-1.3.11.jar
- commons-logging.jar
- httpclient-4.0-alpha4.jar
- httpcore-4.0-alpha6.jar
- log4j-1.2.13.jar
- mail.jar
我的java代码是-
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceClient;
import com.amazonaws.services.simpleemail.model.*;
import java.util.LinkedList;
public class SESExample {
public static final String ACCESS_KEY = "My Access";
public static final String SECRET_KEY = "My Secret";
public static void main(String args[]) {
String sender = "[email protected]"; // should be verified email
LinkedList<String> recipients = new LinkedList<String>();
recipients.add("[email protected]"); // again a verified email, if you are in sandbox
SendMail(sender, recipients, "Hi", "Hi how are u?");
}
public static void SendMail(String sender, LinkedList<String> recipients, String subject, String body) {
Destination destination = new Destination(recipients);
Content subjectContent = new Content(subject);
Content bodyContent = new Content(body);
Body msgBody = new Body(bodyContent);
Message msg = new Message(subjectContent, msgBody);
SendEmailRequest request = new SendEmailRequest(sender, destination, msg);
AWSCredentials credentials = new BasicAWSCredentials(ACCESS_KEY, SECRET_KEY);
AmazonSimpleEmailServiceClient sesClient = new AmazonSimpleEmailServiceClient(credentials);
SendEmailResult result = sesClient.sendEmail(request);
System.out.println(result);
}
}
我也在尝试搜索这个罐子但没有找到。
我不确定是否使用了错误的罐子。
谁能告诉我出了什么问题吗?
I am
来自javadocs, the SchemeSocketFactory
类仅从 4.1 版本开始可用。所以这可能与您使用 4.0 alpha jars 有关。尝试将您的 http-client 库升级到 4.1 或更高版本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)