Tag: smtp

JavaMail API和Tomcat 7实现

有几个Java EE API就是这样–API(接口,域对象,枚举等,但没有实际的类可以做东西)。 像JPA,JDBC或JTA这样的API。 然后,这些API必须具有实现; 对于JPA,有像Hibernate,MyBatis或TopLink这样的人。 对于JDBC,每个特定的RDBMS都有驱动程序。 对于JTA,有Bitronix和Atomikos。 但是JavaMail呢? 它只是一个API吗? 如果是这样,它的常见实现是什么? 如果我将我的Java应用程序(作为WAR)部署到Tomcat 7,那么这个实现来自哪里(具体而言)? Tomcat是否有自己的JavaMail impl? 什么JAR /包/类构成Tomcat impl?

使用commons-email-1.3发送电子邮件时出错

在发送电子邮件时,我使用commons-email-1.3收到以下错误。 我已经下载并添加了外部jar到项目中。 请帮我解决这个问题! package mypkg; import org.apache.commons.mail.DefaultAuthenticator; import org.apache.commons.mail.Email; import org.apache.commons.mail.SimpleEmail; public class sendingmail { public static void main(String[] args) throws Exception { Email email = new SimpleEmail(); email.setSmtpPort(587); email.setAuthenticator(new DefaultAuthenticator(“myid”,”mypwd”)); //Here is the error email.setDebug(false); email.setHostName(“smtp.gmail.com”); email.setFrom(“me@gmail.com”); email.setSubject(“Hi”); email.setMsg(“This is a test mail … :-)”); email.addTo(“you@gmail.com”); email.setTLS(true); email.send(); System.out.println(“Mail sent!”); } } 给出错误的行是 email.setAuthenticator(new […]

用java和gmail发送邮件

我想发送带有日历附件javaxmail的电子邮件,我创建了这个类: public void sendEmail(String to, Calendar calendar) { try { String d_uname = “myaccount@gmail.com”; String d_password = “mypassword”; String d_host = “smtp.gmail.com”; String d_port = “587”;//465,587 String from = “antonitocea@gmail.com”; String subject = “Subject”; String bodyText = “Body”; Properties prop = new Properties(); //prop.setProperty(“mail.smtp.auth”, “true”); prop.setProperty(“mail.smtp.host”, “smtp.gmail.com”); prop.setProperty(“mail.smtp.protocol”, “smtps”); prop.setProperty(“mail.smtp.starttls.enable”, “true”); prop.setProperty(“mail.smtp.ssl.enable”, “true”); prop.setProperty(“mail.smtp.port”,d_port); prop.setProperty(“mail.smtp.user”, […]

JavaMail SSL,无需认证信任证书

我有一个本地邮件服务器(hMailServer)与SSL(端口465)和一个自签名证书。 域名是“foobar.com” 我已经设置了我的Properties来启用ssl,禁用auth,并信任任何主机 props.put(“mail.smtp.auth”, “false”); props.put(“mail.smtp.ssl.enable”, “true”); props.put(“mail.smtp.ssl.trust”, “*”); 如果我通过静态调用将消息发送到Transport.send() ,则会发送电子邮件。 如果我尝试从会话中获取transport实例,那么我得到 javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 静态调用如何避免SSLHandshakeException? 这是我的测试代码: public static void main(String[] args) throws Exception { Properties props = new Properties(); props.put(“mail.smtp.host”, “127.0.0.1”); props.put(“mail.debug”, “false”); props.put(“mail.smtp.port”, “465”); props.put(“mail.smtp.timeout”, “60000”); props.put(“mail.smtp.auth”, “false”); props.put(“mail.smtp.sendpartial”, “true”); […]

无法使用SMTP发送电子邮件(获取javax.mail.MessagingException:无法将套接字转换为TLS;)

我编写了以下代码,使用javamail API通过SMTP作为TLS发送电子邮件,因为不支持SSL,但我最终得到以下exception。 请参阅下面的代码。 我使用过调试模式,在代码下面你也可以找到exception。 import java.util.Properties; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; public class SendMailTLS { public static void main(String[] args) { final String username = “———@mydomain.com”; final String password = “***********”; Properties props = new Properties(); props.put(“mail.smtp.auth”, “true”); props.put(“mail.smtp.starttls.enable”, “true”); props.put(“mail.smtp.host”, “mail.mydomain.com”); props.put(“mail.smtp.debug”, “true”); props.put(“mail.smtp.port”, “587”); […]

无法通过centogle VPS上的谷歌smtp发送电子邮件

我想通过谷歌SMTP发送电子邮件。 代码在tomcat中的本地Windows PC中正常运行。 但我在我的centos VPS上遇到了这个错误 org.apache.commons.mail.EmailException: Sending the email to the following server failed : smtp.googlemail.com:465 这是代码,请检查 – // Create the email message HtmlEmail email = new HtmlEmail(); email.setHostName(“smtp.googlemail.com”); email.setSmtpPort(465); email.setAuthenticator(new DefaultAuthenticator(“username”, “password”)); email.setSSLOnConnect(true); email.addTo(e_mail, f_name+” “+l_name); email.setFrom(“me@gmail.com”, “something.com – Account activation”); email.setSubject(“something.com – Account activation email”); // embed the image and get the content […]

使用Java中的CRAM-MD5的SMTP

我需要通过Java的(外部)SMTP服务器发送电子邮件,但是此服务器只接受CRAM-MD5身份validation,JavaMail不支持该身份validation。 这些电子邮件发送的好方法是什么? (它必须是Java。)

Javamail中的Threadsafety

我正在研究Javamail是否是线程安全的,特别是在具有与不同用户相对应的许多会话,多个SMTP服务器以及使用创建MIME消息和使用transport.sendMessage方法的情况下。 我知道Javamail面向桌面使用,这使我怀疑它可能没有考虑到线程构建,并且我想知道是否有人有这样的经验。

使用SMTPAppender我只收到ERROR而不是INFO类型的日志项

我已经将SMTPAppender配置到我的Java应用程序中。 我只收到ERROR日志类型而不是INFO类型! 我更改了LevelMin,但没有,我插入了Thresold ,但没有! 有人有任何建议吗?

如何使用javax.mail设置或更改SMTP消息ID?

如何在使用javax.mail发送邮件时设置SMTP message-id。 我的邮件服务器报告的内容如下: 1 sombodey@else R=dnslookup T=remote_smtp H=mx00.t-online.de [194.25.134.8] 3 Completed 我想在发送之前设置id=2043289758.9.1322829290422.JavaMail.thor@developer.local 。 这可能吗? 它创建的电子邮件如下: Properties props = System.getProperties(); props.put(“mail.smtp.host”, “192.168.1.4”); Session session = Session.getDefaultInstance(props, null); session.setDebug(false); Message msg = createMsg(); Transport.send(msg);