我创建了一个Android项目,并在我的项目中添加了一个外部JAR(hessian-4.0.1.jar).然后我将JAR添加到构建路径并在Order和Export中将其检出.
看起来忽略了Order和Export,并且运行时缺少外部JAR中的所有类.
在使用Eclipse插件构建Android应用程序时,是否有从外部JAR正确包含所需类的技巧?我不想使用蚂蚁或Maven.
是否可以使用GMail帐户从我的Java应用程序发送电子邮件?我已经使用Java应用程序配置我的公司邮件服务器来发送电子邮件,但是当我分发应用程序时,这不会削减它.任何使用Hotmail,Yahoo或GMail的答案都是可以接受的.
我正在尝试设置我的Java项目以便能够发送电子邮件(通过g-mail,如果它很重要)并且每次我尝试运行时都会收到"javax.mail.NoSuchProviderException:没有smtps的提供者"以下行(从他们的例子中复制/粘贴).
Transport transport = session.getTransport("smtps");
Run Code Online (Sandbox Code Playgroud)
我环顾四周,发现这通常被抛出,因为你没有在你的类路径中包含mail.jar,但事实上我确实包含了mail.jar.由于我运行的是JDK 1.6,因此我不需要根据FAQ(http://www.oracle.com/technetwork/java/javamail/faq-135477.html#classpath)包含activation.jar .此外,activation.jar似乎不存在于javamail的1.4.7版本中.
为了防止出现问题,我从oracle的网站上重新下载了整个zip文件,将其解压缩并添加了jar(在删除旧jar后),我仍然遇到同样的错误.关于这个问题到底有什么想法吗?
编辑:这是正在打印的完整堆栈跟踪:
javax.mail.NoSuchProviderException: No provider for smtps
at javax.mail.Session.getProvider(Session.java:433)
at javax.mail.Session.getTransport(Session.java:627)
at javax.mail.Session.getTransport(Session.java:608)
... my code that calls getTransport() ...
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
... more of my code ...
at java.lang.Thread.run(Thread.java:662)
Run Code Online (Sandbox Code Playgroud) 以下代码/sf/answers/255440391/一直有效,直到最近谷歌更改了他们的安全策略时才崩溃.
我收到了谷歌的邮件
嗨xxx,有人刚尝试从不符合现代安全标准的应用登录您的Google帐户xxx@gmail.com.
我们强烈建议您使用Gmail等安全应用访问您的帐户.Google生产的所有应用均符合这些安全标准.另一方面,使用安全性较低的应用可能会使您的帐户容易受到攻击.学到更多.
Google停止了此次登录尝试,但您应该查看最近使用过的设备:
我查看了https://support.google.com/accounts/answer/6010255?hl=en-GB
我想知道,实现正确的登录尝试的方法是什么,以便继续通过Gmail SMTP发送电子邮件,用户端配置为0?
我尝试在java中发送SMTP电子邮件,但我有这样的错误,我没有收到邮件.我关闭所有防火墙和防病毒软件.
错误:
javax.mail.AuthenticationFailedException: 534-5.7.14<https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=AKgnsbuIW
534-5.7.14 tAxHxbq4WR-vUuV1uOFAvx8NhInfxYTyNHi_8sJ80lX5lBdBla2ROiSKoysMNcFoQ6sGe
534-5.7.14 DUh173tDMolJ64W-Rahx1fhVF_08AvWrphibgQXiyyz5U1FNMMb-eGGJlUIbjyvBgQuZY6
534-5.7.14 tnykIXdVn__mg87aOmtxoss-EiFYeKdvuiBbt5eb9t_NOc97h-PkXOco-9FcYW69Iz9CTu
534-5.7.14 rfyhlo24k9oqIiWtcJwv85oUCO2g> Please log in via your web browser and
534-5.7.14 then try again.
534-5.7.14 Learn more at
534 5.7.14 https://support.google.com/mail/bin/answer.py?answer=78754 pd8sm1306363pdb.93 - gsmtp
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
private void btn_mailActionPerformed(java.awt.event.ActionEvent evt) {
String to = "receive.address@gmail.com";
String from = "send.address@gmail.com";
final String username = "send.address";
final String password = "sendpassword";
String host = "smtp.gmail.com";
Properties pro = new Properties();
pro.put("mail.smtp.host",host);
pro.put("mail.smtp.socketFactory.port","465");
pro.put("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory");
pro.put("mail.smtp.auth","true");
pro.put("mail.smtp.port","465");
Session session = Session.getInstance(pro,
new javax.mail.Authenticator() {
protected …Run Code Online (Sandbox Code Playgroud) 有没有免费的方法可以从应用程序发送电子邮件,而不会出现“可疑登录被阻止”的情况?
目前,我正在创建一个虚拟 GMail 帐户,以使用以下描述的方式从我的应用程序发送电子邮件:/sf/answers/255440391/
但是,有时,由于我的应用程序用户来自不同位置的大量使用,某些消息将无法发送。我从 Google 收到以下消息:
嗨,xxx,
最近有人尝试使用应用程序登录您的 Google 帐户 - xxx@gmail.com。
我们阻止了登录尝试,以防劫持者试图访问您的帐户。请检查登录尝试的详细信息:
我是否可以尝试其他方法,以便我始终可以从我的应用程序成功发送电子邮件?
我在 Windows 上有相同的代码并且运行良好。当我将代码移动到centos时,它给出了异常: javax.mail.MessagingException:无法连接到SMTP主机:stmp.gmail.com,端口:587;嵌套异常是:java.net.ConnectException:连接被拒绝
有人可以给我一些关于这个例外的建议吗?
非常感谢。
java ×6
email ×3
jakarta-mail ×3
android ×2
gmail ×2
build.gradle ×1
eclipse ×1
exception ×1
jar ×1
mail-server ×1
security ×1
smtp ×1