如何通过PHP发送大量电子邮件

时间:2012-04-30 08:37:34

标签: php sendmail

我阅读了几页,但无法理解电子邮件发送的工作原理。我所知道的是,我可以使用php mail()函数发送电子邮件。它连接到电子邮件服务器iteself并发送电子邮件。它不知道电子邮件是否实际到达目的地。

我想知道的是,

  1. MTA在这一切中的作用是什么,它有什么作用?

  2. 我是否可以使用php mail()功能一次发送电子邮件给1000个人,而无需在我的服务器上使用任何其他软件。

2 个答案:

答案 0 :(得分:2)

MTA的作用:

  1. 接收来自客户MUA的电子邮件
  2. 将电子邮件传递给MDA以进行最终交付
  3. 使用SMTP在服务器之间路由电子邮件
  4. 查看更多:http://en.wikipedia.org/wiki/Message_transfer_agent

    请参阅此链接以发送多封电子邮件:

    1. Sending mass email using PHP
    2. Sending bulk email in PHP
    3. 更新

      邮件传输代理(MTA)从另一个MTA,邮件提交代理(MSA)或邮件用户代理(MUA)接收邮件。传输详细信息由简单邮件传输协议(SMTP)指定。当邮件的收件人邮箱未在本地托管时,邮件将被中继,即转发到另一个MTA。每次MTA收到电子邮件消息时,它都会在消息标题的顶部添加一个Received trace header字段,从而构建处理该消息的MTA的顺序记录。在SMTP中也描述了为下一跳选择目标MTA的过程,但通常可以通过使用特定路由配置MTA软件来覆盖该过程。

      MTA在后台运行,而用户通常直接与邮件用户代理进行交互。可以将初始提交区分为首次通过MSA - 端口587用于MUA和MSA之间的通信,而端口25用于MTA之间的通信,或者从MSA到MTA;这种区别首先在RFC 2476中进行。

答案 1 :(得分:0)

你马上问两个问题:

  

MTA在这一切中的作用是什么,它做了什么?

MTA的角色是MTA(邮件传输代理)。请参阅互联网上任何与您需要的详细程度相匹配的MTA文档。

  

我可以使用php mail()函数一次发送电子邮件给1000个人,而无需在我的服务器上使用任何其他软件。

这取决于您的操作系统。严格说来这只能在带有外部smtp服务器的Windows上使用,而在linux上你总是有一个由php mail()使用的sendmail,这意味着,你不能发送一封邮件(因此不是一千封邮件) Linux上的mail()没有 服务器上的程序(sendmail)。