Как отправить почту от Yahoo и других в Android - PullRequest
0 голосов
/ 17 июня 2011

Я пытаюсь использовать почту Java. это хорошо работает для Gmail, но когда я пытаюсь отправить через Yahoo или Hot Mail, он показывает

com.sun.mail.smtp.SMTPSendFailedException: 553 From address not verified

Я использовал

mailHost = "smtp.mail.yahoo.com";         

и port = 465"

может любой орган подсказать мне как решить эту проблему Заранее спасибо.

здесь я отправляю код

public MailSender(String userId, String password)
{
    this.userId = userId;
    this.password = password;

    Properties properties = new Properties();
    properties.setProperty("mail.transport.protocol", "smtp");
    properties.setProperty("mail.host", mailHost);
    properties.put("mail.smtp.auth", "true");
    properties.put("mail.smtp.port", "465");
    properties.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
    properties.put("mail.smtp.socketFactory.fallback", "false");
    properties.setProperty("mail.smtp.quitwait", "false");

    session = Session.getDefaultInstance(properties, this);
}

protected PasswordAuthentication getPasswordAuthentication()
{
    return new PasswordAuthentication(userId, password);
}

public synchronized void sendMail(String subject, String body, String sender, String reciever) throws AddressException, MessagingException
{
    MimeMessage mimeMessage = new MimeMessage(session);
    DataHandler dataHandler = new DataHandler(new ByteArrayDataSource(body.getBytes(), "text/plain"));
    mimeMessage.setSender(new InternetAddress(sender));
    mimeMessage.setSubject(subject);
    mimeMessage.setDataHandler(dataHandler);

    if(reciever.indexOf(",")>0)
    {
        mimeMessage.setRecipients(Message.RecipientType.TO, InternetAddress.parse(reciever));
    }
    else
    {
        mimeMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(reciever));
    }
Transport.send(mimeMessage);    
}

Ответы [ 3 ]

2 голосов
/ 17 июня 2011

Наиболее вероятная причина этого сообщения об ошибке заключается в том, что вам необходимо войти на SMTP-сервер, прежде чем вам будет разрешено отправлять через него какие-либо сообщения.Кроме того, это может быть связано с тем, что вы пытаетесь отправить письмо с адреса, отличного от Yahoo, или с несуществующего адреса.

1 голос
/ 27 сентября 2011

Попробуйте с этими настройками:

Server: smtp.mail.yahoo.com
Port: 465
Security: SSL
1 голос
/ 01 июля 2011

mailHost = "smtp.mail.yahoo.com";
и порт = 587 попробуйте это

...