Tag: javamail

获取“javax.mail.AuthenticationFailedException:连接失败”错误

我想做的事:发送一封与smtp.live.com主机发送的基本电子邮件,使用以下代码通过电子邮件发送给使用Java程序的人: import java.util.*; import javax.mail.*; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import com.sun.mail.smtp.SMTPTransport; public class emailTest { public static void main(String[] args) { String to = “example@live.com”; String from = “example@live.com”; Properties props = new Properties(); props.setProperty(“mail.transport.protocol”, “smtp”); props.setProperty(“mail.host”, “smtp.live.com”); props.put(“mail.smtp.starttls.enable”, “true”); props.put(“mail.smtp.auth”, “true”); props.put(“mail.smtp.starttls.enable”, “true”); Session session = Session.getDefaultInstance(props); session.setDebug(true); try { MimeMessage message = new […]

使用JavaMail创建带附件的EML文件

我将使用JavaMail创建一个带附件的EML文件。 我成功创建了一个简单的EML文件,但添加附件无法正常工作。 我要添加一个PDF文件。 我的EML文件将成功创建。 如果我用Outlook打开生成的EML文件,我将找不到我的PDF文件作为附件,但我会发现EML文件本身作为附件。 有没有人有想法? 我尝试了两个变种(结果相同),我使用了FileDataSource类和MimeBodyPart#attachFile(File)的简单方法。 我要发一个例子: File pdfFile = new File(“somePdfFile”); Properties p = System.getProperties(); Session session = Session.getInstance(p); MimeMessage message = new MimeMessage(session); // MimeBodyPart txt = new MimeBodyPart(); // txt.setText(“”); MimeBodyPart mbp = new MimeBodyPart(); mbp.attachFile(attachment); // FileDataSource fds = new FileDataSource(attachment); // fds.setFileTypeMap(new FileTypeMap() { // // @Override // public […]

在java中用日语字符发送电子邮件

我正在使用java发送电子邮件。 发送的消息可以使用不同的语言,但是当我用日语发送时,收到的邮件只有“???????” 字符。 代码是这样的: String content = “\u30d5\u30a1\u30a4\u30eb\u540d:”; SMTPMessage message = new SMTPMessage(sess); message.setFrom(new InternetAddress(from)); InternetAddress dests[] = new InternetAddress[]{ new InternetAddress(to) }; message.setRecipients(Message.RecipientType.TO, dests); message.setSubject(subject); message.setContent(content, “text/html”); Transport.send(message); 发送的内容是unicode字符。 我应该如何正确编码消息?

JAVAMAIL:AUTH NTLM失败了

我尝试使用microsoft Exchange服务器在本地网络中发送带有java的电子邮件 有我的代码: import java.io.UnsupportedEncodingException; 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.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; public class Main { public static void main(String[] args) { final String username = “username@MyDomain.com”; final String password = “password”; Properties props = new Properties(); props.put(“mail.smtp.auth”, “true”); props.put(“mail.debug”, “true”); props.put(“mail.smtp.host”, “exchange_host.MyDomain.com”); props.put(“mail.smtp.port”, […]

Java邮件客户端到MS Exchange服务器

我们的MS交换服务器不使用Imap或pop3协议,我试图用Java编写客户端连接到交换服务器,我想我不能用Java Mail API做这个(如果我没错)。 我尝试使用端口110和143和25远程登录交换服务器地址,但没有运气。 任何人都可以建议,如果有现有的API来处理这种情况,任何建议都表示赞赏。

java.net.SocketException:软件导致连接中止:套接字写入错误

我正在创建一个应用程序来发送带附件的邮件。 当我附加一个小的zip文件时,它工作得很好但是当我附加一个更大的(> 1mb)zip文件时,它返回错误“java.net.SocketException:软件导致连接中止:套接字写入错误”,我的应用程序挂起。 我附加文件的代码是: protected void addAtachments(String[] attachments, Multipart multipart) throws MessagingException, AddressException { System.out.println(“attaching”); for (int i = 0; i <= attachments.length – 1; i++) { String filename = attachments[i]; MimeBodyPart attachmentBodyPart = new MimeBodyPart(); //use a JAF FileDataSource as it does MIME type detection DataSource source = new FileDataSource(filename); attachmentBodyPart.setDataHandler(new DataHandler(source)); attachmentBodyPart.setFileName(filename); //add […]

有没有办法为Java的Charset名称添加别名

我得到一个exception,埋没在第三方库中,有这样的消息: java.io.UnsupportedEncodingException:BIG-5 我认为这是因为Java没有为java.nio.charset.Charset定义这个名称。 Charset.forName(“big5”)很好,但Charset.forName(“big-5”)抛出exception。 (所有这些名称似乎都不区分大小写。) 这与“utf-8”不同,后者有一些别名可以更宽容。 例如, Charset.forName(“utf8” )和Charset.forName(“utf-8”)可以正常工作。 问题:有没有办法添加别名,以便“big-5”映射到“big5”?

Java Mailing Logic:无法将套接字转换为TLS

在一个应用程序中,我使用java实现了邮件发送逻辑。 我使用smtp.gmail.com超过587 port ,使用有效的Gmail密码和密码。 在开发环境中,一切正常。 但是在生产环境中,我需要使用不同的邮件服务器,例如通过port 25 smtp.xyz.in ,并在该域上使用有效的电子邮件ID和密码。 当我使用以下代码继续SSL启用时: 我收到了一个错误 Could not convert socket to TLS SunCertPathBuilderException: Unable To Find Valid Certification Path To Requested Target ================================================== ===== final ResourceBundle rsbd=ResourceBundle.getBundle(“main/ResourceBundle/Dyna”); // — Attaching to default Session, or we could start a new one props.put(“mail.smtp.host”, smtpServer); props.put(“mail.smtp.auth”, “true”); props.put(“mail.debug”, “true”); props.put(“mail.smtp.port”, port); props.put(“mail.smtp.starttls.enable”,”true”); props.put(“mail.smtp.EnableSSL.enable”,”true”); […]

java.lang.NoClassDefFoundError:javax / mail / MessagingException

我一直在研究一个使用Javamail API根据时间事件和某些条件发送电子邮件的程序。 该程序在Eclipse(最新版本)中运行完美,javamail和激活器jar在构建路径中,javamail的依赖项也是如此。 当我将项目导出为jar并尝试运行它时,会出现问题。 (生成的堆栈跟踪与Eclipse构建路径中缺少javamail jar时的堆栈跟踪相同)。 堆栈跟踪如下: `Exception in thread “Timer-1” java.lang.NoClassDefFoundError: javax/mail/MessagingException at SpaceCheck.HourlySpaceAlerts(SpaceCheck.java:212) at WarningReports.run(WarningReports.java:21) at java.util.TimerThread.mainLoop(Unknown Source) at java.util.TimerThread.run(Unknown Source) Caused by: java.lang.ClassNotFoundException: javax.mail.MessagingException at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) … 4 more` 感谢您的帮助。

我可以在Java中对邮件服务器执行搜索吗?

我正在尝试使用Java搜索我的Gmail。 使用JavaMail,我可以通过消息搜索来执行消息,如下所示: Properties props = System.getProperties(); props.setProperty(“mail.store.protocol”, “imaps”); Session session = Session.getDefaultInstance(props, null); Store store = session.getStore(“imaps”); store.connect(“imap.gmail.com”, “myUsername”, “myPassword”); Folder inbox = store.getFolder(“Inbox”); inbox.open(Folder.READ_ONLY); SearchTerm term = new SearchTerm() { @Override public boolean match(Message mess) { try { return mess.getContent().toString().toLowerCase().indexOf(“boston”) != -1; } catch (IOException ex) { Logger.getLogger(JavaMailTest.class.getName()).log(Level.SEVERE, null, ex); } catch (MessagingException ex) […]