gpt4 book ai didi

android - 使用 SendGrid 从 Android 应用程序发送电子邮件时出错

转载 作者:行者123 更新时间:2023-11-29 01:40:32 26 4
gpt4 key购买 nike

在我的应用程序中,我正在尝试使用发送网格发送电子邮件。

在我的 AsyncTask 的 doInBackground 方法中,我有以下代码

            SendGrid sendgrid = new SendGrid("XXXXXX", "YYYYYY");
publishProgress("Preparing mail message....");
SendGrid.Email email = new SendGrid.Email();
email.setFrom(args[0].toString());
email.addTo(args[2].toString());
email.setSubject(args[3].toString());
email.setText(args[4].toString());
// androidEmail.createEmailMessage();
publishProgress("Sending email....");
try {
sendgrid.send(email);
} catch (SendGridException e) {
System.out.println(e);
Log.i("SendGrid Exception", "Mail Not Sent.");
}
publishProgress("Email Sent.");

当我运行他的程序时,出现以下错误:

 Caused by: java.lang.NoSuchFieldError:        org.apache.http.message.BasicLineFormatter.INSTANCE
at org.apache.http.impl.io.DefaultHttpRequestWriterFactory.<init>(DefaultHttpRequestWriterFactory.java:52)
at org.apache.http.impl.io.DefaultHttpRequestWriterFactory.<init>(DefaultHttpRequestWriterFactory.java:56)
at org.apache.http.impl.io.DefaultHttpRequestWriterFactory.<clinit>(DefaultHttpRequestWriterFactory.java:46)
at org.apache.http.impl.conn.ManagedHttpClientConnectionFactory.<init>(ManagedHttpClientConnectionFactory.java:72)
at org.apache.http.impl.conn.ManagedHttpClientConnectionFactory.<init>(ManagedHttpClientConnectionFactory.java:84)
at org.apache.http.impl.conn.ManagedHttpClientConnectionFactory.<clinit>(ManagedHttpClientConnectionFactory.java:59)
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:59)

我从他们的 github 页面下载了 send-grod.jar。我用示例 java 程序测试了它,我可以成功发送邮件。但它不适用于 Android。

我错过了什么?

最佳答案

我了解该行为的原因。

send-grid 使用的一些依赖库在 android 上不工作。

所以我使用 maven 构建了我自己的 jar,其中包含在 android 上运行的所有必需库。

我终于可以从我的应用程序发送电子邮件了。

两个链接:first !和 second !很有帮助。

关于android - 使用 SendGrid 从 Android 应用程序发送电子邮件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24975792/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com