Gmail SMTP, Blackberry, BB, SocketConnection, отправлять электронную почту через Gmail SMTP программно - PullRequest
1 голос
/ 25 марта 2010

Кто-нибудь может мне помочь, как я могу использовать SMTP-сервер Gmail программно через socketConnection. Мой вопрос, как я могу написать написать аутентификацию TSL / SSL, потому что я не могу общаться с сервером? Кто-нибудь делал это из java на blackberry?

Спасибо

Alex

Ответы [ 2 ]

3 голосов
/ 25 марта 2010

Как насчет почтового клиента с открытым исходным кодом для ежевики.У него нет проблем с использованием SMTP-сервера Gmail и без проблем обрабатывает аутентификацию TSL / SSL.

Это самый популярный почтовый клиент с открытым исходным кодом, доступный для ежевики, который RIM еще не обнаружил.

Вот страница, с которой вы можете скачать ее и попробовать или получить весь исходный код: http://www.logicprobe.org/proj/logicmail

0 голосов
/ 25 марта 2010

Существует библиотека для отправки почты на Java, и она называется JavaMail . Я не знаю, можно ли его использовать с Blackberry, но если это так, просто используйте этот класс:

import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;

public class MailUtils {
    private MailUtils() {
    }

    public static void sendSSLMessage(String recipients[], String subject,
                           String message, String from) throws MessagingException {
        boolean debug = true;
        Properties props = new Properties();
        props.put("mail.smtp.host", "smtp.gmail.com");
        props.put("mail.smtp.auth", "true");
        props.put("mail.debug", "true");
        props.put("mail.smtp.port", "465");
        props.put("mail.smtp.socketFactory.port", "465");
        props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
        props.put("mail.smtp.socketFactory.fallback", "false");
        Session session = Session.getDefaultInstance(props,
            new javax.mail.Authenticator() {
                protected PasswordAuthentication getPasswordAuthentication() {
                    return new PasswordAuthentication("your@email.at.gmail", "your password");
                    }
                }
        );
        session.setDebug(debug);
        Message msg = new MimeMessage(session);
        InternetAddress addressFrom = new InternetAddress(from);
        msg.setFrom(addressFrom);
        InternetAddress[] addressTo = new InternetAddress[recipients.length];
        for (int i = 0; i < recipients.length; i++) {
            addressTo[i] = new InternetAddress(recipients[i]);
        }
        msg.setRecipients(Message.RecipientType.TO, addressTo);
// Setting the Subject and Content Type
        msg.setSubject(subject);
        msg.setContent(message, "text/plain");
        Transport.send(msg);
    }
}
...