不通过网上的邮件服务器,直接利用本机发送邮件?

zyongsoft 2005-09-11 10:06:57
写一个程序,直接用这个程序发送邮件,不借助任何的网络服务器,请问这可以实现吗?
请提供思路和相关例子和代码?谢谢
...全文
648 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
binbin 2005-10-15
  • 打赏
  • 举报
回复
pazee(耙子):
收礼只收尿不湿?宝宝多大啦?
耙子 2005-10-15
  • 打赏
  • 举报
回复
俺闺女11个月了!
icwin 2005-10-15
  • 打赏
  • 举报
回复
up
耙子 2005-10-14
  • 打赏
  • 举报
回复
现在大部分服务器都会拒收这类的邮件。
目前采用的anti-spam 的大致策略是

1.检查 发件者的MX记录,如果发件者没有提供域名则认为是spaw;(自建的smtp服务器发现基本都会被拒绝)
2.检查发件者的ip,进行反向dns查询(类似whois,从IP查DNS),楼主这类的mail会被直接认定为spaw的;
3.邮件黑名单;
4.贝叶斯统计分析;
shadowstar 2005-10-14
  • 打赏
  • 举报
回复
收藏
constantine 2005-10-14
  • 打赏
  • 举报
回复
<怎样使用C++ Builder 6 制作邮件特快专递程序.pdf> 可以找这个文件,下面是她的内容

怎样使用C++ Builder 6 制作邮件特快专递程序
谢煜波
网名:潇寒
OICQ:13916830
Email: xiaohanemail@163.com
Email: xieyuboemail@163.com
http://soft.binghua.com
本文为原创文,转载请注明出处、作者。若对文章内容有什么疑问,或要做改动,请与
作者联系。未经许可,请勿用于商业用途。
说起邮件特快专递,大家也许都不默生,比如大名鼎鼎的Foxmail 就自带有这个特快专
递程序,不过遗憾的是,它一次只能发一封邮件。其实大家很容易想到,如果做一个循环,
是很容易实现特快专递的群发的,但为什么Foxmail 没有做呢?这个我也不知道。不过,有
了C++ Builder 6,我们要实现这个功能也是非常容易的。现在,我们就一起来看一下,怎样
制作这样一个特快专递程序。
要制作这样一个特快专递程序,我们用到了C++ Builder 6 所带的最新的Internet 访问
套件——Indy 套件,主要使用到了TIdDNSResolver、TIdMessage、TIdSMTP 这三个控件。
从名称中我们可能猜到,TIdDNSResolver 用来获得DNS 解析,TIdMessage 用来组织所要传
送的邮件信息,而TIdSMTP 这个控件支持SMTP 协议,我们使用它来传送邮件。
下面一步,我们构建界面,如下图所示:(其中TIdMessage 位于控件栏Indy Misc 页面,
其余两个组件位于Indy Clients 页面)
下面,我们开始编写代码,以实现功能(注意:为突出主要问题,笔者默让一切输入均
合法,故未加正确校验。)下面是完整的代码,并有详细注
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::GetToAddIP(AnsiString dns)
{
DNS->ClearVars(); //清除前一次查询所返回的信息
DNS->Host = "202.118.224.101"; //设定DNS 服务器的主机
DNS->DNSQDList->Clear(); //消空上次查询信息
//下面开始构造需要向服务器发送的查询信息
DNS->DNSHeader->Qr = false; //false 表示这是一个查询请求
DNS->DNSHeader->Opcode = cResQuery; //表示这是一个标准模式的查询
DNS->DNSHeader->RD = true; //表示可以递归查询,即这个DNS 服务器没查到,则
自动跳到下一个服务器查询
DNS->DNSHeader->QDCount = 1; //指出查询的数量
TQuestionItem * item = DNS->DNSQDList->Add();
item->QName = dns; //欲查询的域名
item->QType = cMX; //表示查询一个邮件交换记录
item->QClass = cIN; //表示查询用于Internet
DNS->ResolveDNS(); //向服务器发出查询请求
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
//下面根据用户信息,填充欲发送的邮件的信息体。
MSG->Body->Text = Memo1->Text ; //邮件正文
MSG->From->Address = FromAdd->Text ; //发信人地址
MSG->Recipients->EMailAddresses = ToAdd->Text; //收信人地址

MSG->Subject = "冰花邮件特快专递 演示!"; //主题
int pos = ToAdd->Text.Pos("@");
GetToAddIP(ToAdd->Text.SubString(pos + 1 , ToAdd->Text.Length() - pos)); //通过对
方邮件地址查询对方邮件服务器主机
SMTP->Host = DNS->DNSAnList->Items[0]->RData.MX.Exchange; //设定主机地址为
对方邮件服务器的主机。注意,返回的是一个列表,表示有多个主机,这里取第一个主机
SMTP->Connect();
try{
SMTP->Send(MSG); //发送邮件
}
__finally{
SMTP->Disconnect();
}
ShowMessage("完成!");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SMTPStatus(TObject *axSender,
const TIdStatus axStatus, const AnsiString asStatusText)
{
StatusBar->Panels->Items[0]->Text = asStatusText;
}
//---------------------------------------------------------------------------
上面的程序很简单,也就不多做解释了,下面另外谈点注意:
1. 你取回来的邮件服务器可能有多个, 它是一个列表, 而且通过
DNS->DNSAnList->Items[0]->RData.MX.Preference;你可以获得对应的服务器的优先
级,这样你就可以选择优先级高,或者在一个服务器忙时,换用另一个服务器进行处
理。这一点,好像Foxmail 也没有这样做,因为小可有时用特快专递时发不出去,原
因就在于对方服务器忙。
2. TIdMessage 可以带有很多其它信息,如“抄送地址”、“暗送地址”、“回复地址”
等,你可以读读帮助,以写出功能更强大的邮件特快专递程序!(呵呵,写好之后,别
忘让小可用用啊!^_^)
3. 通过类似的方式,你也可以写一般的发信程序,只是不再需要DNS 解析了。
本程序在C++ Builder 6 下调式通过, 源程序大家可以去,
http://mysnowwave.8u8.com/source/bh_fast_email_source_bcb6.rar 下载。
constantine 2005-10-14
  • 打赏
  • 举报
回复
邮件特快专递功能应该就是,网上有一个pdf文件,包括源代码,几个月前也有人问了你找找
不过这个功能好像没有什么用,很多邮箱都屏蔽掉这个功能,所以收不到,类似sina好象都不行
163.com好像才可以
zsp5869999 2005-10-14
  • 打赏
  • 举报
回复

www.51merit.com
上有

电子邮件钻探机v1.0
电子邮件钻探机(漫游者)v1.1
电子邮件群发机v1.0
的源代码!
qq:42872272

同样,你的问题都不是问题!
webwebweb 2005-09-20
  • 打赏
  • 举报
回复
查詢郵件所屬域的MX紀錄.
比如: 你想直接給一個yahoo的人發送郵件(remote_friend@yahoo.com.cn)
那麼你先查詢yahoo.com.cn的MX紀錄(假設是10.100.10.1). 然後
連接查詢到的IP地址(端口號是25). 然後從本機直接發送就可以了.

foxmail就是這樣做的.
lander9999 2005-09-20
  • 打赏
  • 举报
回复
看RFC文档关于SMTP部份,然后用Socket实现SMTP协议,通讯不难,难就难在编码上,网上有很多奇怪的SMTP服务器,你用别人的控件总有想不到的问题,还是自已搞比较好。如果编码暂时不会也没关系,看你的应用了,你可以用FoxMail直接生成经过编码的邮件源,再来发送。
tgtt 2005-09-14
  • 打赏
  • 举报
回复
TSmtpRelayServer好象是要money钱的,
思路是先查询邮件服务器的目标地址,然后用SMTP连接就行了,
你需要找个DNS地址
binbin 2005-09-12
  • 打赏
  • 举报
回复
楼上的,可以在本实现一个SMTP服务器就可以了,SMTP与POP3没什么关系,只要能发出去就行了.
理论上说只要有一个可用的DNS服务器解析目标地址就可以了,SMTP服务器在本机实现.
楼主可以去网上找一个TSmtpRelayServer控件.
liu_jun_ivan 2005-09-12
  • 打赏
  • 举报
回复
你的思路是行不通的,如果仅仅实现SMTP协议进行邮件发送的话肯定完全没有问题。但不借助任何的网络服务器,那邮件被放到哪里呢,总得有个临时存放的地方,直到接收邮件一方把它取走。如果邮件发送的同时,接收方就进行接收,而没有POP3服务器做中间件的话,那就不叫发邮件,而成了点对点的通信了,跟邮件无关。真正的邮件方式是离不开邮件服务器的,只是你可以把邮件服务器做到本地而不借助其它网络服务器,比如你的发端既实现SMTP、又实现POP3,同时保证接收方未取走邮件之前不要关机,并POP3服务正常工作。但问题是,SMTP实现起来很简单,要自己实现POP3还是有一定难度的。
netsys2 2005-09-12
  • 打赏
  • 举报
回复
用SMTP控件。

完整的例子在

cb\examples\fastnet\SMTP
weill 2005-09-12
  • 打赏
  • 举报
回复
FoxMail的快递就是使用的这个功能。
要注意的是,有些信箱站会据收此类信件。
huzhangyou 2005-09-11
  • 打赏
  • 举报
回复
内置SMTP发送
我记得好像网上有例子
内容概要:本文研究了基于QLearning自适应强化学习的PID控制器在自主水下航行器(AUV)中的应用,通过Matlab代码实现了对水下机器人的动力学建模与运动控制。重点探讨了将强化学习算法QLearning与传统PID控制相结合的方法,以提升AUV在复杂、时变及非线性水下环境中的自适应控制能力。文中系统分析了AUV的运动学与动力学特性,阐述了传统PID参数整定面临的挑战,并提出采用QLearning算法在线动态优化PID控制器的比例、积分和微分参数,从而实现对系统误差、响应速度、超调量等性能指标的综合优化。通过Matlab仿真实验验证了该复合控制策略在轨迹跟踪精度、抗外部干扰能力和系统鲁棒性方面的显著优势,充分展示了强化学习在智能水下装备自主控制领域的可行性和应用潜力。; 适合人群:具备自动控制理论基础、强化学习基础知识及Matlab编程能力的研究生、科研人员和自动化、海洋工程、机器人等相关领域的技术研发人员。; 使用场景及目标:①用于水下机器人、无人潜航器等智能移动装备的高精度运动控制系统设计与开发;②开展强化学习与经典控制理论融合创新的教学案例与科学研究;③解决传统固定参数PID控制器在面对模型不确定性和环境扰动时适应性差、控制性能下降的关键问题。; 阅读建议:建议读者结合提供的Matlab代码进行仿真实践,重点关注QLearning算法中状态空间、动作空间的设计逻辑以及奖励函数的构建原则,深入理解其在参数寻优过程中的作用机制,并可通过调整环境参数和初始条件来测试算法的鲁棒性与泛化能力。
内容概要:本文以有源中点箝位(ANPC)三电平并网逆变器为研究对象,提出并构建了一套融合双极性倍频脉宽调制(DPWMA)、正负序分离锁相控制与电网电压前馈的一体化高性能并网控制策略。通过深入分析ANPC三电平拓扑在开关损耗均衡、中点电位可控性及输出谐波低等方面的结构优势,确立了其作为大功率高质量并网系统的硬件基础。在此基础上,DPWMA调制策略有效提升等效开关频率,显著降低输出电流电压的总谐波畸变率,优化稳态电能质量;正负序分离锁相技术精准剥离电网电压中的负序扰动分量,保障电网不平衡工况下的相位同步精度与并网电流对称性;电网电压前馈控制则通过前瞻性补偿机制,突破传统闭环控制的响应滞后瓶颈,大幅提升系统在电压骤变、畸变等动态扰动下的抗扰能力与动态响应速度。研究通过搭建完整的Simulink仿真模型,在稳态对称、电网不平衡及动态切换等多种工况下进行全面验证,结果表明该复合控制策略在电能质量、运行稳定性与工况适应性方面均具有显著优越性。; 适合人群:具备电力电子、自动控制或新能源并网等相关专业背景,从事科研、工程开发或处于研究生及以上学习阶段的专业技术人员。; 使用场景及目标:①应用于光伏发电、风力发电等新能源系统的大功率并网逆变器高性能控制设计;②解决电网电压不平衡、畸变等复杂非理想工况下的并网稳定性与电能质量问题;③提升工业级并网设备的动态响应速度与运行可靠性;④为相关领域的仿真建模、控制算法开发与性能优化提供系统性的技术参考与实现方案。; 阅读建议:建议结合文中所述的Simulink仿真模型进行实践操作,重点深入理解DPWMA调制的具体实现逻辑、正负序分离锁相环的设计原理以及前馈-反馈复合控制结构的集成方法,通过设置不同工况的对比仿真实验,直观体会各项关键技术对系统整体性能的提升作用。

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧