|
在PHP中发送MIME邮件4 ~ admin
第二种情况就是当不存在附件时,在这种情况下,如果提供了邮件文本,它将是包含在局部变量$msg中的唯一信息;在这种情况下不需要MIME头。(然而,在这种情况下我们还应该只把MIME-Version头指定出来)
3、MIME信息头(MIME-Version,Content-Type, 等等。)在有附件的时候被创建。为了用MIME消息头来创建消息体,首先MIME信息头要被创建。然后各个有效的MIME段通过$mimeheaders数组被反复处理。这就是边界标识被实际使用的地点。根据规则的一致性,对一个MIME段被前缀上两个连接符('--'.$BOUNDARY.crlf)并且在最后一个MIME段的后面,在边界标识后追加两个连接符表示邮件范围结束。 4、在变量$msg中的完整的信息作为这个方法的值被返回。 下一个方法,get_email()通过build_message()方法完成MIME消息的生成。因为build_message()是一个内部方法,get_email()在调用完build_message()之后,创建RFC 822的信息头并且追加上MIME信息。
对于我们的类的一个实例来说,类的成员$email拥有生成的整个邮件信息。为了避免信息被无必要的重新生成,这个方法继续创建邮件头,并且只有当$mail为空时才调用build_message()。然而,你可以通过调用gen_email()来强制重新处理。(如果"To"信息被改变或加入了一个新的附件,调用者显示想这么做)。 gen_email()创建了更熟悉的From头。另外,如果没有指定主题,它将主题设为缺省值(No Subject)。我们直到后面才将To和Subject 的内含保存起来。这个方法返回完整的邮件信息,这样就结束了创建MIME信息的任务。 值得说明的其它两个方法是print_mail()和send_mail(),两个都使用了$force参数。print_mail()输出整个邮件信息,send_mail()使用PHP的mail()函数发送信息。可选的,send_mail()使用了一个SMTP对象和它的发送方法(由用户指定)来发送邮件。 如何测试email的有效性? 一般我们常希望拜访自己网站的朋友能留下Email,但是很多人都会随便打,造成管理员的困扰,以下这个类可以在线检查Email是否有效(存不存在)
基本思想是: 首先检查是否符合Email语法标准,如果符合,取得用户输入的Email的主机信息,用getmxrr()函数取得改主机dns中的MX字段,然后进一步检查输入的Email是否存在。 用法:
|