繁体   English   中英

使用Apache James无法发送电子邮件

[英]Email sending not working using Apache James

我正在尝试使用apache james发送电子邮件,但电子邮件没有被拖欠。 下面是我的代码。

import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;

public class test {

    public static void main(String args[]) throws Exception {

        String user = "test";  

        String password = "test"; 
        String fromAddress = "test@localhost";   
        String toAddress = "test@gmail.com";        
        Properties properties = new Properties();     
        properties.put("mail.smtp.host", "localhost");     
        properties.put("mail.smtp.port", "25");     
        properties.put("mail.smtp.username", user);     
        properties.put("mail.smtp.password", password);
        properties.put("mail.transport.protocol", "smtp"); 

        Session session = Session.getDefaultInstance(properties, null);      

        try             
        {         
            Message message = new MimeMessage(session);         
            message.setFrom(new InternetAddress(fromAddress));         
            message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(toAddress));          
            message.setSubject("Email from our JAMEs");         
            message.setText("hiiiiii!!");         
            Transport.send(message);          
            System.out.println("Email sent");     
        }     
        catch (MessagingException e)     
        {        
            e.printStackTrace();     
        } 
        }
}

在具有密码测试的apache james中也添加了测试用户。 要求您同样帮助我。

我认为由此引起的问题:

电子邮件服务器在接受任何邮件之前会进行反向DNS查询。 他们检查ip来确定电子邮件来自的域以及电子邮件确实来自的ip。

如果域的ip和电子邮件发件人的ip不匹配,则邮件服务器认为电子邮件是垃圾邮件或垃圾邮件。

由于电子邮件服务器发送反向dns查询时,您的域(localhost)不是有效地址,因此无法获取IP并认为您的邮件是垃圾邮件或垃圾邮件。

有关更多信息,请检查以下内容: http : //wiki.junkemailfilter.com/index.php/Fixing_Reverse_DNS

我遇到了同样的问题。 我做了什么:

  1. 转到路径:\\ apps \\ james \\ conf
  2. 打开以编辑文件名“ james-fetchmail.xml”
  3. 将“ fetchmail”从false更改为true:
  4. 重新启动Apache James服务器。
  5. 启动服务器后,您会在控制台上看到以下消息:

James Mail Server 2.3.2远程管理器服务已启动:4555 POP3服务已启动:110 SMTP服务已启动:25 NNTP服务已启动:119 FetchMail已启动

现在,运行您的程序。 它应该工作!

您是否添加了域“ localhost”? 如果不是,请先添加域,然后再创建用户。

$ james-cli adddomains -h 127.0.0.1本地主机

检查域是否存在

$ james-cli lisdomains -h 127.0.0.1

而且,您如何开始詹姆斯? 使用james.bat?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM