exchange 2007 的一个不能收邮件的问题


      exchange 2007给外网发送邮件没有什么问题,而外网发到内网的邮件收不到,但是当重新启动服务器之后,外网之前发送的邮件会收到,后续发送的邮件还是没有办法收到。
     
      步骤一:重启Exchange Transport 服务
      ===================

      在Exchange 2007 服务器上,检查SMTP 服务。如果SMTP 服务被启用了,将SMTP 服务禁止。 之所以这样做是因为Exchange 2007使用自己的Transport 服务来收发邮件而不是使用SMTP 服务。重启Exchange Transport 服务.测试问题是否还在。如果问题还在的话,继续步骤二:检查Receive Connectors
      =============

      1. 打开Exchange Management Console, 展开Server Configuration
      2. 选中Hub Transport, 打开每一个Receive Connector的属性
      3. 在"Permission Groups" tab 下选上所有的下面的条目

      AnonymousUsers
      ExchangeServers
      ExchangeUsers
      ExchangeLegacyServers

      4. 切换到Authentication tab, 选上所有的下面的条目

      Transport Layer Security
      Basic Authentication
      Exchange Server authentication
      Integrated Windows authentication

      重启Exchange服务器上的Exchange Transport 服务,测试一下问题是否还在。如果问题还在的话,继续步骤三:检查邮件扫描
      =============

      1. 检查Exchange
      服务器上是不是安装有三方的防垃圾邮件程序或者邮件扫描程序,如果有的话,临时停掉这些防垃圾邮件程序或者邮件扫描程序。  

      2. 如果您的Exchange 服务器上安装的有防病毒软件,请确保下面的Exchange组件不被扫描

      C:/Program Files/Microsoft/Exchange Server

      打开注册表键值,找到下面的key

      HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/MSExchangeIS/VirusScan


      如果VirusScan 这个键值存在的话,将其下面的Enable的值设为0

      o Value name: Enable
      o Value Type: REG_DWORD
      o Value Data: 0

      如果问题还在,可以尝试收集Exchange 2007 服务器上的SMTP logs ,以便进行深入的故障排查
      a. 打开Exchange Management Console, 展开Server Configuration
      b. 选中Hub Transport, 打开每一个Receive Connector的属性
      c. 将Protocol Logging level 设成 Verbose.
      d. 重启Exchange服务器上的Exchange Transport 服务
      e. 重现问题,然后将SMTP Receive log ( C:/Program Files/Microsoft/Exchange
      Server/TransportRoles/Logs/ProtocolLog/SMTPReceive)


    为了便于您整体构建组织内的邮件系统,我们还应该在Exchange 2007 Hub服务器上安装防垃圾邮件的agents来启用防垃圾邮件策略。

     安装防垃圾邮件的agents具体的步骤:

      ================

      1. Log on to the Exchange 2007 Hub Transport Server.
      2. Go to "Start" -> "Programs" -> "Microsoft Exchange Server 2007".
      3. Open "Exchange Management Shell".

      4. Write "Install-AntispamAgents.ps1" and press on the "Enter" key.
      5. Restart "Microsoft Exchange Transport" service.
      6. Go to "Start" -> "Programs" -> "Microsoft Exchange Server 2007".

      7. Open "Exchange Management Console".
      8. Navigate to "Microsoft Exchange" -> "Organization Configuration" > "Hub
      Transport".
      9. A new tab, named "Anti-Spam" should appear.

     
      同时要注意Exchange 服务器的Accepted Domains没有配置正确,以至于垃圾邮件发送者利用您的服务器发送垃圾邮件。查看下面的配置:

      1. 打开Exchange Management Console, 展开Organization Configuration
      2. 选中Hub Transport, 选择Accepted
      Domains选项卡,然后检查配置。确保只有您自己的邮件域名可以被接受。没有其它的邮件域名尤其是通配域名“*”被配成Accepted。

      3. 重新启动Exchange Transport 服务
      4. 打开Exchange Management Shell, 然后运行下面的命令
      Get-ReceiveConnector | remove-ADPermission -User "NT AUTHORITY/ANONYMOUS
      LOGON" -ExtendedRights "Ms-Exch-SMTP-Accept-Any-Recipient"
      收到confirm的信息后,输入A, 然后按回车键
      这个命令会禁止匿名用户通过Receive Connector来转发垃圾邮件。这是推荐的配置。不会影响正常的邮件收发

      5. 重新清理队列:

      a.停掉Exchange Transport 服务
      b.重命名Queue 文件夹 (C:/Program Files/Microsoft/Exchange
      Server/TransportRoles/data/Queue)
      c.重启Exchange Transport 服务

      检查垃圾邮件的问题是否还在。如果问题还在,收集下面的信息,做深入分析:
      打开Exchange Management Shell, 然后运行下面的命令,收集您的Accepted Domain的配置信息和 Receive
      Connector上的权限的设置信息。

      Get-accepteddomain | fl >C:/domain.txt
      Get-ReceiveConnector | get-ADPermission -User "NT AUTHORITY/ANONYMOUS
      LOGON" | fl >c:/permission.txt
    

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
好的,以下是一个简单的 Java 发送 Exchange 邮箱邮件的示例代码: ```java import java.util.Properties; import javax.mail.*; import javax.mail.internet.*; public class ExchangeMailSender { public static void main(String[] args) { final String username = "your_username"; final String password = "your_password"; final String recipientEmail = "recipient_email_address"; final String subject = "Test Email"; final String body = "This is a test email sent from Java."; Properties props = new Properties(); props.put("mail.smtp.host", "your_exchange_server"); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.starttls.enable", "true"); props.put("mail.smtp.port", "587"); // Change to the appropriate port number Session session = Session.getInstance(props, new Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, password); } }); try { Message message = new MimeMessage(session); message.setFrom(new InternetAddress(username)); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(recipientEmail)); message.setSubject(subject); message.setText(body); Transport.send(message); System.out.println("Email sent successfully."); } catch (MessagingException e) { System.out.println("Failed to send email. Error message: " + e.getMessage()); } } } ``` 请将代码中的以下信息替换为您自己的信息: - `your_username`:您的 Exchange 邮箱用户名 - `your_password`:您的 Exchange 邮箱密码 - `recipient_email_address`:件人的邮箱地址 - `your_exchange_server`:您的 Exchange 邮箱服务器域名或 IP 地址 请注意,此代码需要 JavaMail API 和 Exchange Web Services Java API。您需要将这些 API 添加到您的项目中才能运行此代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值