Java 如何在android中发送来自雅虎和其他公司的邮件

Java 如何在android中发送来自雅虎和其他公司的邮件,java,android,jakarta-mail,Java,Android,Jakarta Mail,我正在尝试使用Java邮件。这对gmail来说很好,但当我试图通过雅虎或Hotmail发送邮件时,它会显示出来 com.sun.mail.smtp.SMTPSendFailedException: 553 From address not verified 我用过 mailHost = "smtp.mail.yahoo.com"; 和端口=465“ 有人能告诉我如何解决这个问题吗?谢谢 我在这里发送代码 public MailSender(String userId, St

我正在尝试使用Java邮件。这对gmail来说很好,但当我试图通过雅虎或Hotmail发送邮件时,它会显示出来

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

mailHost = "smtp.mail.yahoo.com";         
端口=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);    
}

出现此错误消息的最可能原因是,在允许您通过SMTP服务器发送任何消息之前,您必须登录到SMTP服务器。或者,这可能是因为您试图从非yahoo邮件地址或不存在的邮件地址发送。

出现此错误消息的最可能原因是您正在重新发送邮件在允许您通过SMTP服务器发送任何邮件之前,您必须登录SMTP服务器。或者,这可能是因为您试图从非雅虎邮件地址发送邮件,或者是从不存在的邮件地址发送邮件。

mailHost=“SMTP.mail.yahoo.com”;
和端口=587 试试这个

mailHost=“smtp.mail.yahoo.com”;
和端口=587
尝试此设置

尝试以下设置:

Server: smtp.mail.yahoo.com
Port: 465
Security: SSL

尝试以下设置:

Server: smtp.mail.yahoo.com
Port: 465
Security: SSL

@马克:-我已经尝试使用SMTP服务器登录,并且使用了我的个人雅虎邮件id。但是错误仍然存在。如果可能,请将SMTP设置发送给我。谢谢您是否尝试从您的雅虎地址或其他地址发送电子邮件?@马克:-我正在从我的雅虎地址发送,如果您可以将您的代码添加到问题中,我可以尝试并发现任何错误,但是如果没有它,我不确定我还能提供什么帮助。@马克:-我已经粘贴了我的代码。如果可能的话,请帮助我。谢谢你关注这个问题。@马克:-我已经尝试使用SMTP服务器登录,并且使用了我的个人yahoo邮件id。但是错误仍然存在。如果可能的话,请将SMTP设置发送给我。谢谢你尝试吗ng是否从您的雅虎地址或其他地址发送电子邮件?@Mark:-我是从我的雅虎地址发送的,如果您可以在问题中添加您的代码,我可以尝试发现任何错误,但如果没有它,我不确定我是否能提供任何帮助。@Mark:-我已粘贴了我的代码。如果可能,请帮助我。感谢您关注此问题。