Tag: gmail

从独立应用程序轮询GMail收件箱以接收传入邮件的正确方法

我正在尝试为收到的邮件调查GMail收件箱。 这是我有的: import java.util.Properties; import javax.mail.Authenticator; import javax.mail.Folder; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.event.MessageCountEvent; import javax.mail.event.MessageCountListener; import com.sun.mail.imap.IMAPFolder; import com.sun.mail.imap.IMAPStore; public class GmailIncomingTest { public static void main(String[] args) { try { String username = “my.user@gmail.com”; String password = “mypassword”; Properties properties = new Properties(); properties.put(“mail.smtp.auth”, “true”); properties.put(“mail.smtp.host”, “smtp.gmail.com”); properties.put(“mail.smtp.port”, “587”); […]

使用Java在Email Body中发送图像

我已经能够使用Java将图像作为附件发送到电子邮件中。 我现在正试图在电子邮件正文中发送相同的图像,如下所示: public static void main(String[] args) throws NoSuchProviderException, MessagingException { System.out.println(“Sending mail…”); Properties props = new Properties(); props.setProperty(“mail.smtp.starttls.enable”, “true”); props.setProperty(“mail.transport.protocol”, “smtp”); props.setProperty(“mail.smtp.auth”, “true”); props.setProperty(“mail.smtp.host”, “smtp.gmail.com”); props.setProperty(“mail.smtp.port”, “587”); props.setProperty(“mail.smtp.user”, “mysusername”); props.setProperty(“mail.smtp.password”, “mypassword”); Session mailSession = Session.getDefaultInstance(props, null); mailSession.setDebug(true); Transport transport = mailSession.getTransport(); MimeMessage message = new MimeMessage(mailSession); message.setSubject(“HTML mail with images”); message.setFrom(new InternetAddress(“myaddress@gmail.com”)); message.setContent (“This […]

如何在Gmail中获取完整的邮件正文?

我想获得完整的消息体。 所以我尝试: Message gmailMessage = service.users().messages().get(“me”, messageId).setFormat(“full”).execute(); 为了获得身体,我尝试: gmailMessage.getPayload().getBody().getData() 但结果总是为null 。 如何获得完整的邮件正文?

如何阻止通过GMail显示为附件的电子邮件中的嵌入图像?

我发送带有嵌入图像的HTML电子邮件(作为附件),图像按照预期在GMail中显示。 但是,它们也会在电子邮件下显示为附件。 有谁知道如何避免这种情况,即我只想在电子邮件中使用它们而不是作为附件列出。 我使用过“Content-Disposition:inline”。 我正在使用Spring和JavaMail。 这是我的邮件最终结果。 谁能看到什么错了? Delivered-To: … … Subject: … MIME-Version: 1.0 Content-Type: multipart/mixed; boundary=”—-=_Part_0_1248835444.1288246311187″ ——=_Part_0_1248835444.1288246311187 Content-Type: multipart/related; boundary=”—-=_Part_1_592250078.1288246311197″ ——=_Part_1_592250078.1288246311197 Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline ——=_Part_1_592250078.1288246311197 Content-Type: image/x-png Content-Transfer-Encoding: base64 Content-Disposition: inline Content-ID: iVBORw0KGgoAAAANSUhEUgAAAPAAAABQCAYAAAAnSfh8AAAACXBIWXMAAC4jAAAuIwF4pT92AAAA … Qcz8hzyUxqGHjkNbsY4Df5iBg6OIwafQHBxFjP8PAIwl43uhncLdAAAAAElFTkSuQmCC ——=_Part_1_592250078.1288246311197– ——=_Part_0_1248835444.1288246311187–

使用JavaMail阅读GMail的完整电子邮件

我正在使用javamail,我无法从我的Gmail电子邮件中获取HTML。 我有以下内容: Session session = Session.getDefaultInstance(props, null); Store store = session.getStore(“imaps”); store.connect(“imap.gmail.com”, “myemail@gmail.com”, “password”); System.out.println(store); Folder inbox = store.getFolder(“Inbox”); inbox.open(Folder.READ_ONLY); Message messages[] = inbox.getMessages(); for(Message message:messages) { System.out.println(message); // com.sun.mail.imap.IMAPInputStream@cec0c5 以上一切正常,但我无法打印或获取实际的HTML或文本电子邮件。 我只是得到某种InputStream,如何轻松处理这个以获取电子邮件的原始HTML? 我也试过循环浏览消息,但这并没有让我走得太远: Message message[] = inbox.getMessages(); for (int i=0, n=message.length; i 200) content = content.substring(0, 600); System.out.print(content); } 非常感谢所有的hlep。

使用IMAP(javamail API)从gmail访问电子邮件

我正在尝试借助JavaMail API通过IMAP访问Gmail帐户中的电子邮件。 我想知道为什么代码适用于一个电子邮件帐户但不适用于另一个。 我可以访问两个电子邮件帐户的Inbox文件夹。 但对于其中一个电子邮件帐户,无法访问其他文件夹,如SPAM([Gmail]/Spam) ,它会引发FolderNotFoundExceptionexception。 有人可以解释一下出了什么问题吗? 先谢谢你。 这是代码: import java.io.*; import java.util.*; import javax.mail.*; import javax.mail.Flags.Flag; import javax.mail.internet.*; import com.sun.mail.imap.IMAPFolder; import com.sun.mail.imap.IMAPMessage; public class FolderFetchIMAP { public static void main(String[] args) throws MessagingException, IOException { IMAPFolder folder = null; Store store = null; String subject = null; Flag flag = null; try { Properties […]

阅读从GMail发送的邮件

我正在使用JavaMail在我的Android应用程序中阅读邮件。 我试图涵盖所有组合,即在/自定义服务器/ Gmail ID / Live ID上发送/接收的邮件。 从GMail WITH Attachment发送的一些邮件会出现问题。 我能够收到附件,但内容返回javax.mail.internet.MimeMultipart@44f2e698 这是用于接收和阅读消息的代码: Properties props = System.getProperties(); props.setProperty(“mail.store.protocol”, “imap”); try { /* Create the session and get the store for read the mail. */ Session session = Session.getInstance(props, null); Store store = session.getStore(“imaps”); store.connect(“imap.gmail.com”, Username, Password); /* Mention the folder name which you want to read. […]

通过具有双向身份validation的Gmail帐户中的java发送电子邮件

我想创建一个可以向任何指定收件人(gmail)发送电子邮件的function。 我遇到的问题是当我尝试提供在gmail中使用双向身份validation的凭据时,我的身份validation失败。 帐户没有双向身份validation,它工作正常。 那么我需要做些什么来启用双向身份validation? 以下是我用来发送电子邮件的代码。 public static boolean sendMail(String fromMail, String fromPassword, String toMail, String message) { try { final String user = fromMail, password = fromPassword; Properties prop = new Properties(); prop.setProperty(“mail.smtp.host”, “smtp.gmail.com”); prop.setProperty(“mail.smtp.port”, “465”); prop.setProperty(“mail.smtp.auth”, “true”); prop.setProperty(“mail.smtp.ssl.enable”, “true”); // prop.put(“mail.debug”, “true”); // prop.setProperty(“mail.smtp.socketFactory.class”, “javax.net.ssl.SSLSocketFactory”); Session sess = Session.getDefaultInstance(prop, new Authenticator() { @Override protected […]

将邮件发送到Gmail帐户

我正在从我的Java应用程序向Gmail帐户发送邮件。 我使用过Java Mail API并且运行正常。 但是可以在不使用java中的邮件API的情况下发送电子邮件吗? 我的意思是只使用套接字: public class Main { public static void main(String[] args) throws Exception { String host = “smtp.gmail.com”; int port = 465; String from = “sh2rpzain@gmail.com”; String toAddr = “sharpzian@gmail.com”; Socket servSocket = new Socket(host, port); DataOutputStream os = new DataOutputStream(servSocket.getOutputStream()); DataInputStream is = new DataInputStream(servSocket.getInputStream()); if (servSocket != null && […]

javax.mail.AuthenticationFailedException:连接失败,没有指定密码?

此程序尝试发送电子邮件但会引发运行时exception: javax.mail.AuthenticationFailedException: failed to connect, no password specified? 当我提供正确的用户名和密码进行身份validation时,为什么会出现此exception? 发件人和收件人都有g-mail帐号。 发件人和收件人都有g-mail帐号。 发件人已禁用两步validation流程。 这是代码: import javax.mail.*; import javax.mail.internet.*; import java.util.*; class tester { public static void main(String args[]) { Properties props = new Properties(); props.put(“mail.smtp.host” , “smtp.gmail.com”); props.put(“mail.stmp.user” , “username”); //To use TLS props.put(“mail.smtp.auth”, “true”); props.put(“mail.smtp.starttls.enable”, “true”); props.put(“mail.smtp.password”, “password”); //To use SSL props.put(“mail.smtp.socketFactory.port”, “465”); props.put(“mail.smtp.socketFactory.class”, “javax.net.ssl.SSLSocketFactory”); […]