天道酬勤,学无止境

SMTP服务器本地发送邮件php [重复](SMTP server local send mail php [duplicate])

问题

可能的重复:
mail(): SMTP 服务器响应: 550 该地址在 hmailserver 上无效错误

我想测试我的类 senderMail.php。

为了有一个smtp服务器,我使用hMailServer。 我创建了一个域,我创建了一个帐户,现在我配置了 SMTP 设置。

hMailServer 想要一个配置“SMTP RELAYER”。 我使用以下信息进行测试:端口 587 上的 smtp.gmail.com 并且我也输入了我的标识符。

当我用我的类 senderMail.php 测试这个时,我有这个错误:

SMTP 服务器响应:550 地址无效

我的错误在哪里? 它来自 SMTP RELAYER 还是其他配置?

回答1

你为什么不尝试直接从本地主机发送它。

  1. 转到您的php.ini文件并将SMTP = localhost to SMTP = aspmx.l.google.com更改SMTP = localhost to SMTP = aspmx.l.google.com并取消注释sendmail_from并输入您的发送 Gmail 地址

  2. 在 php 中,用mail("youremail]@gmail.com", "subject", "body");测试一下mail("youremail]@gmail.com", "subject", "body");

注意:这仅在向谷歌托管的电子邮件地址发送电子邮件时有效。

或者

如果它不起作用,请尝试上面的 swiftmailer 它的 php 邮件发送库,它也允许通过 SMTP 发送邮件,这在开发过程中真的很有帮助。

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • 从本地 apache 服务器发送邮件(Send mail from a local apache server)
    问题 我想从我的 PHP Web 应用程序发送电子邮件。 我知道这是可能的,因为几个月前,我的系统上有这个“功能”,然后我开始使用 xampp 并且该功能消失了。 我想,当我回到我的本地服务器并像以前一样使用本地 MySQL 数据库和其他东西时,我可以再次从我的网络应用程序发送电子邮件。 我将操作系统从 Mountain Lion 更新到 Mavericks(不知道这是否可能是主要问题)并返回到本地 apache 服务器,同时删除了 xampp。 但我仍然无法从我的网络应用程序发送电子邮件。 我更改了正在使用的 php.ini 文件,以便我可以使用邮件功能: [mail function] ; For Win32 only. ; http://php.net/smtp SMTP = localhost ; http://php.net/smtp-port smtp_port = 25 ; For Win32 only. ; http://php.net/sendmail-from ; sendmail_from = me@example.com ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). ; http://php.net/sendmail-path sendmail
  • 如何配置XAMPP从本地主机发送邮件?(How to configure XAMPP to send mail from localhost?)
    问题 我正在尝试从本地主机发送邮件。 但是我无法从本地主机发送邮件,所以任何人都可以告诉我如何重新配置​​我的xampp以从本地主机发送邮件 回答1 您可以使用sendmail软件包从localhost发送邮件,sendmail软件包在XAMPP中是内置的。 因此,如果您使用的是XAMPP,则可以轻松地从本地主机发送邮件。 例如,您可以将C:\xampp\php\php.ini和c:\xampp\sendmail\sendmail.ini为gmail以发送邮件。 在C:\xampp\php\php.ini找到extension=php_openssl.dll并从该行的开头删除分号,以使SSL适用于localhost的gmail。 在php.ini文件中找到[mail function]并进行更改 SMTP=smtp.gmail.com smtp_port=587 sendmail_from = my-gmail-id@gmail.com sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t" 现在,打开C:\xampp\sendmail\sendmail.ini 。 用以下代码替换sendmail.ini中的所有现有代码 [sendmail] smtp_server=smtp.gmail.com smtp_port=587
  • PHP:在本地主机中发送邮件(PHP : send mail in localhost)
    问题 我想通过本地托管的php代码发送电子邮件。 <?php $email = "myemail@local.com"; $titre = "My subject"; $message = "Text message !"; mail($email, $titre, $message); ?> 运行此代码时,出现以下错误: Warning: mail() [<a href='function.mail'>function.mail</a>]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\... 我进入了php.ini文件,它似乎已经配置正确。 [mail function] ; For Win32 only. ; http://php.net/smtp SMTP = localhost ; http://php.net/smtp-port smtp_port = 25 我怎样才能解决这个问题 ? 谢谢 回答1 它配置为将localhost:25用于邮件服务器。 错误消息表明它无法连接到localhost:25 。 因此,您有两个选择: 在本地主机端口25上安装
  • php可以在没有安装邮件服务器的情况下发送电子邮件吗?(can php send email without mail server installed in server?)
    问题 我知道我们可以使用不同主机上的 smtp 服务器从 php 发送电子邮件,或者如果安装了本地 smtp 服务器。 我想知道的是 php 可以在没有任何本地或远程 smtp 服务器的情况下发送电子邮件吗? 我听说过 sendmail 程序,但是它可以在服务器中不安装任何邮件服务器的情况下运行吗? 回答1 在某些时候,您必须与 SMTP 服务器通信。 通过本地主机上的 SMTP 服务器发送是最干净的选择,并且最有可能成功通过垃圾邮件过滤器。 邮件服务器所做的事情非常复杂。 让我们将您的电子邮件从您的电子邮件客户端发送到您的电子邮件服务器,并将出站主机作为目的地: 服务器会检查您的用户帐户并确保其有效。 电子邮件分别为每个收件人或作为一条消息(取决于服务器)进入队列。 服务器在队列中找到电子邮件并处理每个收件人地址。 这需要对每个目标域的 MX 记录进行 DNS 查找。 电子邮件服务器连接到 MX 记录指定的地址,并像通过 SMTP 一样将电子邮件发送给它。 成功后,电子邮件将从队列中删除。 失败时,电子邮件可能会保留在队列中,服务器稍后会重试(指数退避 - 请参阅灰名单)或放入邮件队列,以便稍后在您通过 POP3 检查电子邮件时返回给您。 队列中的下一个电子邮件服务器然后重复上述操作,直到最后一个服务器收到电子邮件并位于收件人的邮箱中。 在 PHP 中这样做是可能的,但我不推荐它
  • 如何从本地WAMP服务器发送电子邮件以向Gmail Hotmail等发送电子邮件? [复制](How to send email from localhost WAMP Server to send email Gmail Hotmail or so forth? [duplicate])
    问题 这个问题已经在这里有了答案: (WAMP / XAMP)使用SMTP本地主机发送邮件[关闭] (6个答案) 2年前关闭。 我正在寻找有关如何从localhost WAMP发送电子邮件的适当信息。 以及如何获得从特定的授权电子邮件地址发送电子邮件的授权以发送任何其他电子邮件地址。 如何配置这整个步骤向我解释了细节,我已经在这里访问了一些Stack Overflow答案以及博客文章,但是所有内容都很混乱且过时,因此可能无法正常工作。 因此,我需要Stack Overflow用户帮助。 谢谢你。 回答1 从localhost配置一个工作的电子邮件客户端是一件很麻烦的事情,我花了数小时的挫败尝试。 最后,我发现了这种发送邮件的方式(使用WAMP,XAMPP等): 安装hMailServer 配置此hMailServer设置: 打开hMailServer Administrator。 单击“添加域...”按钮以创建一个新域。 在“域”文本字段下,输入计算机的本地主机IP。 示例:127.0.0.1是您的本地主机IP。 点击“保存”按钮。 现在转到“设置”>“协议”>“ SMTP”,然后选择“电子邮件的传递”选项卡。 找到本地主机字段,输入“本地主机”。 单击保存按钮。 配置您的Gmail帐户,执行以下修改: 转到设置>协议> SMTP,然后选择“电子邮件的传递”标签。 在“远程主机名
  • PHP从本地主机发送邮件(php send mail from localhost)
    问题 我是php新手。 我试图使用此代码从php发送邮件。 <?php $to = 'sohil@gmail.com'; $subject = 'The subject'; $message = 'hello'; $headers = 'From: sohil@yahoo.in' . "\r\n" . 'Reply-To: receiver@yahoo.in' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); mail($to, $subject, $message, $headers); ?> 我在php.ini中有更改设置 [mail function] ; For Win32 only. ; http://php.net/smtp SMTP = localhost ; http://php.net/smtp-port smtp_port = 25 ; For Win32 only. ; http://php.net/sendmail-from sendmail_from = sohil@gmail.com 及在sendmail.ini中 # A freemail service example account Gmail tls on tls_certcheck off host smtp.gmail.com from sohil
  • 使用GMAIL邮件服务器从在PHP中运行XAMMP的本地主机发送电子邮件(Send email from localhost running XAMMP in PHP using GMAIL mail server)
    问题 我尝试使用php mail()函数将电子邮件从本地主机发送到我的yahoo电子邮件帐户,返回消息说我成功发送了电子邮件,但没有收到任何电子邮件。 我一直在阅读并尝试许多所谓的“简单方式”来发送电子邮件,但结果令人失望,它们都不适合我。 以下是代码,配置和错误消息。 有人可以启发我吗? 谢谢。 PHP代码 <?php $to = 'myemail@yahoo.com'; $subject = 'Fake sendmail test'; $message = 'If we can read this, it means that our fake Sendmail setup works!'; $headers = 'From: myemail@egmail.com' . "\r\n" . 'Reply-To: myemail@gmail.com' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); if(mail($to, $subject, $message, $headers)) { echo 'Email sent successfully!'; } else { die('Failure: Email was not sent!'); } ?> php.ini的配置(我正在使用Gmail邮件服务器) SMTP = smtp.gmail
  • 如何从本地主机发送smtp邮件(how to send smtp mail from localhost)
    问题 尝试从本地主机发送电子邮件时,我总是收到此消息。 SMTP 错误:无法连接到 SMTP 主机。 无法发送消息。 邮件程序错误:SMTP 错误:无法连接到 SMTP 主机。 以下是我的代码:请帮忙 <?php // $email and $message are the data that is being // posted to this page from our html contact form $email = $_REQUEST['email'] ; $message = $_REQUEST['message'] ; // When we unzipped PHPMailer, it unzipped to // public_html/PHPMailer_5.2.0 require("class.phpmailer.php"); $mail = new PHPMailer(); // set mailer to use SMTP $mail->IsSMTP(); // As this email.php script lives on the same server as our email server // we are setting the HOST to localhost $mail->Host = "localhost"; // specify
  • PHPMailer无法发送电子邮件(PHPMailer cannot send email)
    问题 我的项目包含一个发送电子邮件的功能,即PHPMailer 。 它可以很好地从我的本地主机服务器发送电子邮件,但是今天停止发送电子邮件,现在显示此错误消息 SMTP Error: Could not connect to SMTP host. 我添加了这段代码$mail->SMTPDebug = 1; 查看调试错误,现在向我显示此消息: SMTP ERROR: Failed to connect to server: php_network_getaddresses: getaddrinfo failed: The requested name is valid, but no data of the requested type was found. (0) SMTP Error: Could not connect to SMTP host 我已经在php.ini enabled extension=php_openssl.dll 。 这是我的代码: $mail = new PHPMailer(); $mail->SMTPSecure = 'ssl'; $mail->IsSMTP(); $mail->Username = "myemail@gmail.com"; // your GMail user name $mail->Password = "password";
  • (WAMP / XAMP)使用SMTP本地主机发送邮件((WAMP/XAMP) send Mail using SMTP localhost [closed])
    问题 关门了。 这个问题需要更加集中。 它当前不接受答案。 想要改善这个问题吗? 更新问题,使其仅通过编辑此帖子即可将重点放在一个问题上。 1年前关闭。 改善这个问题 如何从本地SMTP发送邮件(使用Wamp,Xampp等)? PHP mail()似乎无法本地运行。 有人可以给出指示吗? 回答1 如果本地xampp,wamp有问题,您可以使用此库发送电子邮件。 class.phpmailer.php,class.smtp.php在您的电子邮件函数调用的文件中编写此代码 include('class.phpmailer.php'); $mail = new PHPMailer(); $mail->IsHTML(true); $mail->IsSMTP(); $mail->SMTPAuth = true; $mail->SMTPSecure = "ssl"; $mail->Host = "smtp.gmail.com"; $mail->Port = 465; $mail->Username = "your email ID"; $mail->Password = "your email password"; $fromname = "From Name in Email"; $To = trim($email,"\r\n"); $tContent = ''; $tContent .="
  • mail():SMTP服务器响应:550地址在hmailserver上无效错误(mail(): SMTP server response: 550 The address is not valid error on hmailserver)
    问题 尽管将php.ini配置为有效的send_from地址,但仍收到此错误。 我知道它是有效的,因为当我从松鼠邮件中发送邮件时它可以工作,但是在php中发送邮件时它就行不通了。 无效地址大概是指send_from地址。 所以我看不出它怎么会认为这是错误的。 这是PHP代码: $email="tobiasvogel1@googlemail.com"; $subject = "Your New Password"; $from="admin@dayshare.local"; $message = "Your new password is as follows: xxxxxxxxxxxxxxxxxxxxxxxxxxx This email was automatically generated."; if(!mail($email, $subject,$message,$from)){ echo ("error"); }else echo "success"; 并在php.ini中: SMTP = localhost sendmail_from = admin@dayshare.local 回答1 550不允许送货到该地址此错误意味着发件人正尝试将电子邮件发送到不允许其发送到的地址。 hMailServer检查IP范围设置后,将生成此消息。 例如
  • 从本地服务器xampp / sendmail发送电子邮件(Sending email from localhost server xampp/sendmail)
    问题 我已经建立了一个将在本地托管的PHP网站。 一种功能是发送包含购物车中物品的电子邮件。 在线托管(用于测试)时,email()函数可以完美地发送电子邮件。 我现在正在将该站点转移到本地计算机,并且无法发送电子邮件。 最初,这些电子邮件来自servername@hostname.co.uk,虽然我很乐意设置一个gmail或类似的名称来处理发送,但效果很好。 我已经阅读了一些有关设置的教程,并且首先尝试使用sendmail和gmail地址。 我想知道是否在设置ini文件时错过了一些简单的事情。 我编辑了php.ini文件,如下所示: [mail function] XAMPP: Comment out this if you want to work with an SMTP Server like Mercury SMTP = smtp.gmail.com smtp_port = 587 For Win32 only. http://php.net/sendmail-from sendmail_from = shipimageemail@gmail.com ; XAMPP IMPORTANT NOTE (1): If XAMPP is installed in a base directory with spaces (e.g. c:\program filesC:\xampp
  • 如何配置PHP发送电子邮件?(How to configure PHP to send e-mail?)
    问题 我需要使用php脚本将邮件发送给我的网站的用户。 我试过在php中使用邮件功能。 我的代码如下: $to = "myweb@gmail.com"; $subject = "Test mail"; $message = "My message"; $from = "webp@gmail.com"; $headers = "From:" . $from; mail($to,$subject,$message,$headers); 当我尝试运行程序时,这就是我得到的: Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set(). 请告诉我$ from变量中要包含的地址。 我需要一个SMTP服务器吗? 如何使用本地主机发送邮件? 请告诉我在php.ini文件中到底要编辑什么 我是这一切的新手..请帮助我.. 回答1 改用PHPMailer:https://github.com/PHPMailer/PHPMailer 如何使用它: require('./PHPMailer/class.phpmailer.php'); $mail=new PHPMailer()
  • 在 Windows 中的 php 中从本地主机发送电子邮件(Sending email from localhost in php in windows)
    问题 我正在使用这个非常小的代码来测试电子邮件是否到达电子邮件目的地: <?php mail('woodsy013@hotmail.com','Test mail','The mail function is working!'); echo 'Mail sent!'; ?> 但它似乎没有工作。 我正在使用 WAMP。 我已经安装了一个免费的 SMTP 服务器。 我的 php.ini 文件配置如下: [mail function] ; For Win32 only. ; http://php.net/smtp SMTP = smtp.tools.sky.com ; http://php.net/smtp-port smtp_port = 25 ; For Win32 only. ; http://php.net/sendmail-from sendmail_from = you@yourdomain 按照我提到的操作,我似乎没有收到发送至 woodsy130@hotmail.com 的电子邮件。 我收到此错误: Warning: mail() [function.mail]: SMTP server response: 530 5.7.0 Must issue a STARTTLS command first. ff2sm10904265wib.9 in C:\wamp\www
  • 如何在Laravel中使用gmail发送邮件?(How to to send mail using gmail in Laravel?)
    问题 我一次又一次尝试测试从本地主机发送电子邮件,但是我仍然不能。 我不知道该怎么做。 我尝试搜索以找到解决方案,但找不到。 我编辑了config / mail.php: <?php return [ /* |-------------------------------------------------------------------------- | Mail Driver |-------------------------------------------------------------------------- | | Laravel supports both SMTP and PHP's "mail" function as drivers for the | sending of e-mail. You may specify which one you're using throughout | your application here. By default, Laravel is setup for SMTP mail. | | Supported: "smtp", "mail", "sendmail", "mailgun", "mandrill", "ses", "log" | */ 'driver' => env('MAIL_DRIVER'
  • Sendmail/postfix 邮件不从本地 Mac OS X (Mountain Lion) 发送(Sendmail/postfix mail not sending from local Mac OS X (Mountain Lion))
    问题 我正在尝试让 sendmail/postfix 在我的 iMac (10.9.2) 上正常工作。 我有一个 php web 应用程序,我正在尝试在本地进行测试,它需要发送邮件。 即使在直接测试时: date | mail -s test myEmail@gmail.com 邮件永远不会到达,即使是垃圾邮件。 在日志中,我看到大量用于联系 google/gmail 的“操作超时”错误: Mar 17 10:57:13 imac.helion3.com postfix/postfix-script[10924]: starting the Postfix mail system Mar 17 10:57:13 imac.helion3.com postfix/master[10925]: daemon started -- version 2.9.4, configuration /etc/postfix Mar 17 10:57:13 imac.helion3.com postfix/qmgr[10933]: 012175629F9F: from=<daemon@localhost.localhost>, size=352, nrcpt=1 (queue active) Mar 17 10:57:16 imac.helion3.com postfix/pickup[10932]
  • 通过php邮件功能发送电子邮件进入垃圾邮件[重复](sending email via php mail function goes to spam [duplicate])
    问题 这个问题已经在这里有了答案: 如何确保以编程方式发送的电子邮件不会自动标记为垃圾邮件? (24个答案) 7个月前关闭。 我在向我的收件箱(Gmail帐户)发送邮件时遇到问题,但是每次都转到垃圾邮件文件夹时。 这是代码片段 //$ticketDetail is array which contain required information to send. sendOwnershipEmail('dineshnagarscriet@gmail.com', $ticketDetail); function sendOwnershipEmail($email, $ticketDetail) { $param = new stdClass(); $param->content = "<div> <div><b>".$ticketDetail[0]['ticket_number']."</b></div><br/> <div><img src='".$ticketDetail[0]['image_path']."'/></div><br/> <div>Ticket with ticket number ".$ticketDetail[0]['ticket_number']." has been requested for tranfer from <div/> <div>"
  • 使用WAMP发送电子邮件(Sending emails with WAMP)
    问题 我使用最新的WAMP,当我尝试发送电子邮件时收到此消息: Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp\www\main\createaccount.php on line 8 邮件传递失败... 消息: $to = "xxx@hotmail.com"; $subject = "Hi!"; $body = "Hi,\n\nHow are you?"; if (mail($to, $subject, $body)) { echo("<p>Message successfully sent!</p>"); } else { echo("<p>Message delivery failed...</p>"); } 您还需要下载“邮件服务器”吗? 请帮忙。 回答1 这对我有用,应该对您有用:使用Fake Sendmail和Webhost邮件服务器(即-Godaddy,1and1等)。 1.)下载sendmail zip并将其解压缩到C:\ Wamp \ bin \ sendmail
  • OS X:向本地主机发送邮件(OS X: sending mail to localhost)
    问题 出于测试目的,我想将邮件发送到我的 localhost 用户帐户而不是我的网络服务器。 我不确定如何使用 mail.app 执行此操作。 任何帮助,将不胜感激。 回答1 如果您不是特别想使用 Mail.app,您可以使用mail命令发送邮件。 打开终端和: mail -s "Testing" `whoami`@`hostname` <type something> Ctrl-D to finish and send 这些是反引号,而不是单引号。 whoami返回当前用户的用户名, hostname返回本地机器的主机名。 它也可以是明确的: mail -s "Testing" john@mymac.local 编辑:只需阅读您的说明。 Mail.app 将其数据存储在 ~/Mail 中,主要存储在 SQLite 数据库(“Envenlope Index”文件)中。 感兴趣的表将是mailboxes和messages 。 电子邮件的文本存储在各自邮箱/文件夹目录中的单个文件中。 如果您想访问 Mail.app(实时)获取的电子邮件,这可能是要走的路。 另一种选择是使用 mbox 格式从 Mail.app 导出您的邮件,并使用 dbr 描述的技术访问它。 根据是否需要实时访问,您可以编写一些自动导出的脚本。 回答2 @同义反复 OSX 确实有一个内置的 MTA(SMTP 服务器)
  • php.ini&SMTP =-如何传递用户名和密码(php.ini & SMTP= - how do you pass username & password)
    问题 My ISP帐户要求我发送出站SMTP邮件的用户名和密码。 执行php.mail()?时,如何让PHP使用此功能php.mail()? php.ini文件仅包含服务器(SMTP= )和From: (sendmail_from= )条目。 回答1 PHP mail()命令不支持身份验证。 您的选择: PHPMailer-教程梨-教程自定义功能-请参阅注释部分中的各种解决方案:http://php.net/manual/zh/ref.mail.php 回答2 我将以下详细信息应用于php.ini文件。 它的作品很好。 SMTP = smtp.example.com smtp_port = 25 username = info@example.com password = yourmailpassord sendmail_from = info@example.com 这些详细信息与Outlook设置相同。 回答3 使用Windows的Fake sendmail发送邮件。 在C:\wamp\创建一个名为sendmail的文件夹。 将以下4个文件提取到sendmail文件夹中: sendmail.exe , libeay32.dll , ssleay32.dll和sendmail.ini 。 然后配置C:\wamp\sendmail\sendmail.ini : smtp