用PHP发电子邮件2_PHP教程
mail()函数是非常简单的:只有五个参数,而其中的两个是可选的.这些参数是: 接收方地址 主题 信件内容 其它文件信息头(可选) SMTP服务程序的其它配置选项(可选) 附加的头参数控制了诸如CC, BCC, Reply-To之类的邮件功能,或者其它遵循SMTP协议的功能.在这个例子中,我只使用From 和 Reply-To信息头. 如果你想给我发邮件但你使用的是一个非Windows系统, 程序代码就应该如下: $to = "julie@thickbook.com"; $subject = "ZDNet Developer article"; $msg = "I completely understand SMTP servers now!"; $headers = "From: me@mycompany.com
Reply-To: someoneelse@mycompany.com"; $config = "-fwebmaster@mycompany.com"; mail("$to", "$subject", "$msg", "$headers", "$config"); echo "finished!"; ?> 如果你使用的是一个基于Windows的SMTP服务,那么你有可能不需要使用第五个参数,而且在附加的头信息参数中(也就是第四个参数),你需要将它们分开写--使用
而不是
.所以,同样的一个邮件通过基于Windows的SMTP服务发送的代码如下: $to = "julie@thickbook.com"; $subject = "ZDNet Developer article"; $msg = "I completely understand SMTP servers now!"; $headers = "From: me@mycompany.com
Reply-To: someoneelse@mycompany.com"; mail("$to", "$subject", "$msg", "$headers"); echo "finished!"; ?> 脚本中的echo语句使你的Web浏览器在脚本运行完成的时候向你显示一条信息.如果不写echo语句,你就会得到一个"空文件"的对话框,因为没有任何输出能够发送到浏览器端. 只要能够连接到指定的SMTP服务器mail()函数就会返回真值.但是这并不意味着邮件成功的到达了接收方那里.mail()函数不会等待或报告SMTP服务器发来的成功/错误代码. mail()函数有可能返回假值,然后给你警告"无法连接,在第x行"或是"未知的错误,在第x行."如果这两条信息中的任何一条出现了,你就应该检查php.ini中的SMTP值.引起这些消息有两种可能:SMTP服务器瘫痪了,或者PHP无法连接到它.无论是这两种情况中的哪一种,你的邮件都无法被发送出去. 这个脚本对这些参数使用硬编码的值.使用一个简单的HTML表单,你就可以在这些参数中插入一些值并拥有一个良好的反馈表单. 一旦你知道了如何给一个人发送邮件,你可能按奈不住要把同一个邮件发送给许多接收者--就象新闻信件一样.所有这些牵涉到一个漂亮轻巧的循环来遍历一个接收者的列表并将邮件发送给他们.mail函数的形式还是相同的: mail([接收方], [主题], [邮件主体], [头信息]); 你只需要简单的用列表中的下一个名字来替换[接收方].假设你已经有了一个电子邮件地址的数组: $addresses = array("me@mycompany.com", "you@yourcompany.com", "someone@otherplace.com"); 你所需要做的就是循环遍历这个数组,取得新地址而后发送这个邮件. 如果你在数据库中拥有一个电子邮件地址的列表,同样的原则也是适用的:循环遍历它们. 你已经懂得要领了.显然,同样的概念对你特定的数据库类型和表结构来说也是适用的,虽然代码会需要做一些改动. 人们在循环遍历一个地址列表的时候似乎都忽视了一点:如果你有多于50个地址要处理,你的脚本在完成以前很可能超时,因为PHP对每一个脚本的运行有一个缺省为30秒的时间限制.你可以修改这个时间限制但是这样做的时候要小心.要把这种修改限定在特定的脚本上,比方说遍历一个地址列表发送邮件的脚本.否则,你可能亲手将服务器的线程超载,然后你的计算机将崩溃,从此万劫不复. 要在脚本中设置时间限制,你可以使用set_time_limit()函数.你可以设定时间限制,比如说60秒(set_time_limit(60)),或者你还可以让它一直运行直道它完成(set_time_limit(0)). 将这段代码加到你的脚本里,你的邮件地址遍历循环会很愉快的继续工作,直到邮件被发送给了列表中所有的地址. 发送HTML格式的电子邮件也是一种看起来难,做起来容易的事情.一但你学会了如何做这件事,你可能会因为自己曾经认为它很难而踢自己一脚. 我们需要对我们已经编写的邮件脚本做两个修改: 你的邮件应该是HTML格式的. 你必须添加content-type头信息. 这就是所有要做的事情.拥有一个能阅读HTML格式电子邮件客户端程序的接收方将看见他们的邮件以大的,粗体格式显示的信件.如果你发送的HTML格式邮件包括image置标,你一定要记住在src属性中使用完整的URL,例如: . 你还应该记住不是每一个人都能阅读HTML格式的电子邮件而且那些无法阅读这种格式的人只能看见HTML代码本身.这是另人讨厌的,所以最好三思而行. 结论 你可以用PHP以任何途径,方法或是可以想象到的任何形式来发送邮件.这个教程只是提供了基本的知识:配置你的服务器并发送简单的邮件.你还可以将附件和你用mail()函数产生的电子邮件一道发送,修改一大堆不同的头信息,还有做任何电子邮件客户端程序和邮件列表发送程序能够做的事情.

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP 8.4 帶來了多項新功能、安全性改進和效能改進,同時棄用和刪除了大量功能。 本指南介紹如何在 Ubuntu、Debian 或其衍生版本上安裝 PHP 8.4 或升級到 PHP 8.4

Visual Studio Code,也稱為 VS Code,是一個免費的原始碼編輯器 - 或整合開發環境 (IDE) - 可用於所有主要作業系統。 VS Code 擁有大量針對多種程式語言的擴展,可以輕鬆編寫

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

字符串是由字符組成的序列,包括字母、數字和符號。本教程將學習如何使用不同的方法在PHP中計算給定字符串中元音的數量。英語中的元音是a、e、i、o、u,它們可以是大寫或小寫。 什麼是元音? 元音是代表特定語音的字母字符。英語中共有五個元音,包括大寫和小寫: a, e, i, o, u 示例 1 輸入:字符串 = "Tutorialspoint" 輸出:6 解釋 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。總共有 6 個元

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

PHP的魔法方法有哪些? PHP的魔法方法包括:1.\_\_construct,用於初始化對象;2.\_\_destruct,用於清理資源;3.\_\_call,處理不存在的方法調用;4.\_\_get,實現動態屬性訪問;5.\_\_set,實現動態屬性設置。這些方法在特定情況下自動調用,提升代碼的靈活性和效率。
