热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

本地smpt与(smtp.tom.com和smtp.163.com)进行信件转发的问题.RFC821等其它的都看了几次了.......

1)tom.com用户上到tom.com邮箱.写了一封信发向本机smtp(mysmtp).本机监听到(smtp.tom.com)往本地发的smtp序列是:1HELOtom.com2
1)tom.com用户上到tom.com邮箱.写了一封信发向本机smtp(mysmtp).
本机监听到(smtp.tom.com)往本地发的smtp序列是: 
1 HELO tom.com
2 Mail FROM:
3 RCPT TO: 4 DATA
5 QUIT

这样本地smtp服务器就可接收到tom.com或163.com发过来的信件了


但.本地的smtp服务器,要转发一封信给tom.com或163.com 完全按照它的序列.竟然会不行??
也是发:
1 HELO mysmtp.com
2 Mail FROM:   '到了这步.对方的smtp回发的信息是:550(意为邮箱不可到达)
3 RCPT TO: 4 DATA
5 QUIT

这就有问题了.我做的smtp服务器可收它发过来的信.但我的smtp服务器向它(tom.com,163.com)发信,它竟然不接收?

这中间过程有什么要注意的地方?RFC821等RFC文章看了一次.没发现有什么其它的要注意的地方?

望有做过smtp服务器的人.帮下忙,提点一下..感激不尽....

19 个解决方案

#1


没有做过smtp方面的东西,但是以前接触过协议;说的不对,仅供参考
个人的看法是,你的smtp服务器发信件的第二步可能不是太妥,这步可能不是自己做的

#2


有些pop3服务器会拒绝接收不明后缀的邮件。

#3


还有就是发送到对方pop服务器,有些需要验证用户信息,不知你有无加验证信息。

#4


pop3服务器?
163.com或tom.com接收的信件.是本地smtp向163或tom的smtp服务器发信还是向它们的pop服务器发信?
smtp是25端口.  pop是110端口

我本地的smpt是收到163.com或tom.com发过来的测试信.是用25端口接收的啊??不是110端口的pop服务器啊??
我搞错了??

我的是本地smtp收到一封rcpt to为tom.com或163.com的信件.要转发到它们的邮箱.但按照它们的序列.他们不接收啊?

#5


如果是接受:你连的是它的SMTP服务器,用它的SMTP端口
如果是发送:你连的是它的pop服务器,163.com只是对方Pop服务器的域名,发送的话应该是用它pop的端口。

#6


我本地的smtp服务器和163.com或tom.com的smtp服务器对连啊?我发信,它收信.怎么连到它的pop服务器去了????不解

比如我sss@xx.com 的一个用户通过xx.com这个域名服务器(smtp自做的)向对方发信(xx@163.com或xx@tom.com)
163.com或tom.com接收信??我是向它smtp服务器发还是pop服务器发???糊涂了!!!!!!

#7


收发邮件服务器可以是在一台服务器可以是同一域名如163.com,但你要收发必须得通过不通端口连到两个服务上。你查一下相关资料吧

#8


我想有个明确的答复.资源我看了不少了.rcf看了一遍了.
我自已的smtp服务器.怎么和另一个smtp服务器(smtp.tom.com或smtp.163.com)交互信件.

也就是信件转发.我想知道它的序列是什么?

我上面也列出了.1)helo 2)mail from 等,但它们(smtp.tom.com,163.com)不认.谁做过的告诉一下我好了.

注:域名a 记录.mx记录等都解析到同一台服务器.它们(smtp.tom.com,smtp.163.com)反解析应该是没问题的.他它们为什么就是不认?

#9


163.com的mx记录是 mx.mail.163.split.netease.com
tom.com的mx记录是 tommx.163.net

你应该向这两个地址发信

#10


现在要求SMTP时候必须加身份验证,需要将用户名和密码进行base64编码,然后用auth命令进行认证,详细你可以参照用sniffer抓一下outlook发包的过程,按照outlook的过程进行重新编码试试。

#11


smtp.tom.com,smtp.163.com 应该只接收 xxx@tom.com, xxx@163.com 的邮件
mx.mail.163.split.netease.com,tommx.163.net 应该只接收发往xxx@tom.com, xxx@163.com 的邮件

#12


噢...确实是shw014所说的..我查了下确实是这样..
那能不能再说下.我该向它发什么序列的指令??
shw014() 有空再指教下了...

#13


不行啊?我向tom的tommx.163.net连接的时候.它返回给我的是554..并不是250啊?为什么啊?

#14


很多smtp服务器不会接收不明ip发来的信,因为很可能是垃圾

#15


不明ip??那怎么样才让该ip让它明呢??我是有固定ip地址的服务器的啊?也有域名指向该服务器的啊?

#16


我觉得必须是知名得email服务商得ip才行,他们之间可能有约定。互相信任对方得ip

#17


搞定.谢谢.

#18


一般情况下,利用SMTP服务器转发是需要认证的。
我写过一篇文章,通过分析fetchmail的代码来大概介绍了一下ESMTP的认证方式,这里可以看到:
http://blog.csdn.net/monnand/archive/2006/08/17/1076581.aspx

如果想看RFC,那就看一看RFC2821,RFC821已经被RFC2821替代了。

关于认证方式,可以看看我那篇文章还有我那文章里面提到的参考资料。

如果文章中的代码看不懂,可以直接跳到后面第三节,是对三种认证方式的流程总结

#19


一般情况下,如果向一个SMTP服务器发送邮件,可以分成如下几种情况:
1 不用转发。比如我要给一个163的邮箱发邮件,那么我直接发送到163的SMTP服务器中。关于如何通过邮箱地址获得对方SMTP服务器的地址,可以通过DNS的MX查询。我曾经写过一篇文章,通过分析qmail的代码来讲解DNS的MX查询。里面还实现了一个简单的DNS的MX查询程序。在这里:
http://blog.csdn.net/monnand/archive/2006/07/15/924731.aspx
这种情况下,是不需要认证的。但是一般的服务器会反向解析你的域名(因为你在EHLO或者HELO时候提供了你的域名),看看你提供的域名是否与DNS查询到的结果相同。如果不同,将会把你看做是垃圾邮件的发送者

2 需要转发,这是大多数MUA(比如foxmail啦,outlook啦)的实现方式。你在使用这些MUA的时候都会让你设置一个SMTP服务器。有的是需要认证的(现在大多数的都需要认证)。也就是说,不管你发送邮件到什么地方,都会把邮件发送给某个特定的SMTP服务器,由这个服务器进行转发。认证方式看我的文章就好了:
http://blog.csdn.net/monnand/archive/2006/08/17/1076581.aspx

不明白的话可以给我发邮件,或者在我blog上面留言。

#20


  • 四个不看会后悔,但看了更后悔的故事
  • 技术揭秘QQ空间”自动转发不良信息

推荐阅读
  • 三小时掌握计算机网络基础(通俗易懂)
    目录1.网络层次划分2.OSI七层网络模型3.IP地址4.子网掩码及网络划分5.ARPRARP协议6.路由选择协议7.TCPIP协议8.UDP协议 9.DNS协议 ... [详细]
  • c# java socketn 字节流_C#Socket编程详解(一)TCP与UDP简介
    一、TCP与UDP(转载)1、TCP1.1定义TCP(TransmissionControlProtocol)传输控制协议。是一种可靠的、面向连接的协议(eg:打电话)、传输效率低 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  •   1、确认自己的线路是否连接正确腾达a9设置。 ... [详细]
  • POCOCLibraies属于功能广泛、轻量级别的开源框架库,它拥有媲美Boost库的功能以及较小的体积广泛应用在物联网平台、工业自动化等领域。POCOCLibrai ... [详细]
  • CentOS 7配置SSH远程访问及控制
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 邮件服务在网络里的角色是越来越重要,不管是因特网上还是在局域网内部,用户都习惯使用电子邮件来处理日常的工作。而越来越多的企业和单位,也都急切希望能拥有自己的内部邮件服务器,以加强员 ... [详细]
  • 分享西西弗斯自动求职系统【PHP】
    后端开发|php教程后端开发-php教程做这个系统的背景是前段时间帮女朋友找工作,大家也许都有过这样的感受,发出一份份简历都石沉大海,为什么呢?经过测试,我发现是因为邮件的阅读率并 ... [详细]
  • 2016年8月29日当初想的太简单~~~哎写在前面从3月份开始各大互联网类、游戏类、软件类等公司开始招暑期实习,9月份正式招聘,面临众多的工作选择和技术方向,我们不免有些眼花缭乱啊 ... [详细]
  • 由于php没有提供现成的smtp函数,却提供了一个功能不甚灵活的mail()函数,这个函数需要服务器配置上的支持,并且不支持smtp验证,在很多场合无法正常的工作,因此不建议使用。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 浅解XXE与Portswigger Web Sec
    XXE与PortswiggerWebSec​相关链接:​博客园​安全脉搏​FreeBuf​XML的全称为XML外部实体注入,在学习的过程中发现有回显的XXE并不多,而 ... [详细]
  • hosts文件是什么意思
    hosts文件是什么意思:hosts文件是每一台电脑中都必须要拥有的重要文件,hosts文件的作用有很多,今天小编为大家带来的就是hosts文件存在的作用,感兴趣的话就快来看看吧。 ... [详细]
  • 域名解析系统DNS
    文章目录前言一、域名系统概述二、因特网的域名结构三、域名服务器1.根域名服务器2.顶级域名服务器(TLD,top-leveldomain)3.权威(Authoritative)域名 ... [详细]
author-avatar
江苏经贸学院
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有