我想使用PHP从我的localhost向其他人发送电子邮件。我需要做什么?
例如,我是否需要安装mailserver?如果我没弄错的话,那就是一种语言,你不需要邮件发送者来发送电子邮件。是不是?
在PHP.ini中,有[邮件功能]。如何配置?我在网上查了一下,但是真的不明白它是如何工作的。
[mail function] ; For Win32 only.
SMTP = localhost
smtp_port = 25
sendmail_from =admin@localhost.com //Not sure how to write this?
答案 0 :(得分:2)
如果要使用mail()函数发送邮件,则必须设置本地邮件服务器。您不能使用远程邮件服务器,因为php mail()函数不允许您指定身份验证凭据。但是,我发现设置本地邮件服务器既乏味又烦人,此外它可能很危险。我建议查看PHPMailer。它易于使用和运行。
答案 1 :(得分:1)
您需要在PHP脚本发出请求后实际发送电子邮件的软件(通过使用mail
函数:http://php.net/mail)。正如之前的一些回复中所述,无论您运行什么操作系统,都有软件选项。
[mail function] ; For Win32 only.
SMTP = smtp.my-isp.com
smtp_port = 25
sendmail_from =my.account@my-isp.com
如果做不到这一点,您可以将脚本上传到您的网络主机,该主机应该已经配置为可以正常运行。
希望有所帮助。
答案 2 :(得分:0)
mail("recipient@domain.com", "Subject", "This is an email!");
您只需安装一些电子邮件服务器即可。如果您使用的是Linux,则可以尝试 exim ,如果您使用的是Windows,则可以使用IIS附带的SMTP服务器。
答案 3 :(得分:0)
是的,您确实需要一个可用的邮件服务器。 PHP的mail()函数接受您提供的信息并将其传递给邮件服务器以进行传递。 PHP本身不提供邮件。
您使用的邮件服务器取决于您使用的操作系统。传统上,在unix类型的机器上将安装sendmail或其他一些服务。在Windows上,您可以在php.ini配置文件中指定SMTP服务器的名称。
答案 4 :(得分:0)
简单的方法是使用mail()
命令。在Linux上它是sendmail二进制文件的管道,在Windows上,我不知道,可能它使用了一些Microsoft voodoo库。
无论如何,我强烈建议使用phpMailer,因为它是一个成熟的项目,非常稳定,易于设置,具有很多功能,还包括SMTP和IMAP客户端实现,所以绝对是跨平台的。
无论如何,您应该考虑使用本地SMTP服务器作为第一跳来处理网络故障时的邮件队列。
答案 5 :(得分:0)
phpmailer是个不错的选择。 你可以谷歌搜索详细信息。 实际上,电子邮件是使用套接字发送的。
答案 6 :(得分:0)
无需安装特殊模块即可访问PHP中的邮件功能。 但是,要使Mail功能可用,PHP必须在编译期间访问系统上的 sendmail 二进制文件。如果您使用其他邮件程序,例如qmail或postfix,请务必使用随附的相应sendmail包装程序。 PHP将首先在PATH中查找sendmail,然后在以下内容中查找:
/usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib.
强烈建议您从PATH获取sendmail。此外,编译PHP的用户必须具有访问sendmail二进制文件的权限。
如果您正在使用托管服务提供商处理Linux环境,则很可能已经存在sendmail,否则您可以从终端进行检查:
cat some_file.txt |mail -s "test mail" user@yourmail.com