- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我已经看到关于此主题的数千个类似问题。可以肯定的是,我知道 SO 中的“标记为重复问题”。
但是,从 PHP mail() 函数获取雅虎收件箱电子邮件,简单来说,如何或必须做什么仍然不清楚。
在 Yahoo 站点中,他们提供了一个示例脚本来发送邮件,例如
链接 http://help.yahoo.com/l/us/yahoo/smallbusiness/webhosting/php/php-03.html
$email = "EMAIL TO";
$subject = "Test Message";
$msg = "This is a test message";
//$eLog="/tmp/mailError.log";
//Get the size of the error log
//ensure it exists, create it if it doesn't
//$fh= fopen($eLog, "a+");
//fclose($fh);
//$originalsize = filesize($eLog);
mail($email,$subject,$msg);
//NOTE: I commented out unneeded lines
使用在雅虎自己的合法网站上找到的这种基本方法失败了。
第二个建议是(对于 PERL)但可以通过一些编辑转换为 PHP:
#!/usr/bin/perl
print "Content-type: text/html\n\n";
$title='mail test';
$to='MAIL ADDRESS TO SEND TO';
$from= 'EMAIL@YOURDOMAIN.COM';
$subject='Using Sendmail';
open(MAIL, "|/usr/sbin/sendmail -t");
## Mail Header
print MAIL "To: $to\n";
print MAIL "From: $from\n";
print MAIL "Subject: $subject\n\n";
## Mail Body
print MAIL "This is a test message from Yahoo \n";
close(MAIL);
print "<html><head><title>$title<
/title></head>\n<body>\n\n";
## START HTML content
print "<h1>$title</h1>\n";
print "<p>A message has been sent from $from to $to";
## END HTML CONTENT
print "\n\n</body></html>";
链接:http://help.yahoo.com/l/us/yahoo/smallbusiness/webhosting/php/php-17.html
经过几次编辑使其看起来像 PHPish:
<?php
///#!/usr/bin/perl
$title='_01_mail test';
$to='user_name@yahoo.com, user_name2@gmail.com';
$from= 'info@companyname.com';
$subject='_01_Using Sendmail';
## Mail Header
$headers = "To: $to\n";
$headers .= "From: $from\n";
$headers .= "Subject: $subject\n\n";
## Mail Body
$message = "<html><head><title>$title<
/title></head><body>
<h1>$title</h1>
<p>A message has been sent from $from to $to\n\n
</p></body></html>";
if ( mail($to,$subject,$message,$headers) ) {
echo "The email has been sent!";
} else {
echo "The email has failed!";
}
?>
GMAIL 的 user_name2@gmail.com
按要求发送电子邮件,但 user_name@yahoo.com
不知何故没有去任何地方。
那么,我们该怎么办?...如果雅虎自己的样本不工作,那么:
a) PHP mail() 函数是否已弃用?...如果是,替代方案是什么?
b) 如果该功能仍然有效,我们如何提出 YAHOO Inbox 友好 PHP 代码?
c) PHP mail() 函数的最佳实践是什么?
编辑:
额外的测试。
刚刚以这种格式测试过 PHP mail() function not sending email 建议:
$subject = "subject";
$message = "message";
$to = "USER_NAME_HERE@yahoo.com";
$type = "plain"; // or HTML
$charset = "utf-8";
$mail = "no-reply@".str_replace("www.", "", $_SERVER["SERVER_NAME"]);
$uniqid = md5(uniqid(time()));
$headers = "From: ".$mail."\n";
$headers .= "Reply-to: ".$mail."\n";
$headers .= "Return-Path: ".$mail."\n";
$headers .= "Message-ID: <".$uniqid."@".$_SERVER["SERVER_NAME"].">\n";
$headers .= "MIME-Version: 1.0"."\n";
$headers .= "Date: ".gmdate("D, d M Y H:i:s", time())."\n";
$headers .= "X-Priority: 3"."\n";
$headers .= "X-MSMail-Priority: Normal"."\n";
$headers .= "Content-Type: multipart/mixed;boundary=\"----------".$uniqid."\""."\n\n";
$headers .= "------------".$uniqid."\n";
$headers .= "Content-type: text/".$type.";charset=".$charset.""."\n";
$headers .= "Content-transfer-encoding: 7bit";
YAHOO 仍然没有收件箱。
EDIT2
我去了这个链接:http://www.forensicswiki.org/wiki/Evolution_Header_Format
YAHOO说header应该是这样的:
Subject: header test
From: Username <username@sendinghost.com>
To: Username <username@receivinghost.com>
Content-Type: text/plain
Date: Sat, 28 Jul 2007 11:52:35 +0200
Message-Id: <1185616355.19231.0.camel@localhost>
Mime-Version: 1.0
X-Mailer: Evolution 2.10.1
Content-Transfer-Encoding: 7bit
Thested with PHP mail() func.
... GMail
再次收到 YAHOO
拒绝...我没有错误日志
最佳答案
我终于在脸上露出了 laaaaarge 的笑容。与@DaveRandom 一起工作,他帮助我想出了这些代码:
NOTE: The code bellow uses PHPMailer
<?php
$senderName = 'Erick Best'; //Enter the sender name
$username = 'erickbestism@yahoo.com'; //Enter your Email
$password = 'passwordHere';// Enter the Password
$recipients = array(
'erickbestism@gmail.com' => 'Erick Best',
'erickbestism@yahoo.com' => 'Yahoo User',
);
///That's all you need to do
//No need to edit bellow
require '../PHPMailerAutoload.php';
//Create a new PHPMailer instance
$mail = new PHPMailer();
// Set up SMTP
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = "tls";
$mail->Host = "smtp.mail.yahoo.com";
$mail->Port = 587; // we changed this from 486
$mail->Username = $username;
$mail->Password = $password;
// Build the message
$mail->Subject = 'PHPMailer mail() test';
$mail->msgHTML(file_get_contents('contents.html'), dirname(__FILE__));
$mail->AltBody = 'This is a plain-text message body';
$mail->addAttachment('images/phpmailer_mini.gif');
// Set the from/to
$mail->setFrom($username, $senderName);
foreach ($recipients as $address => $name) {
$mail->addAddress($address, $name);
}
//send the message, check for errors
if (!$mail->send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
?>
这就像 VOODOO 一样工作!...它向任何提供者发送邮件。包括**YAHOO**
希望对大家有帮助!
关于Php mail() 与雅虎 : Can someone Simply Explain Steps required for YAHOO to receive mail from php mail function?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19555650/
使用 ABC 加载模块 ( require )在分发的一个模块中工作,而在分发的另一个模块中失败。 加载 ABC 的原因可能是什么?与 require在一个地方失败? require Name::AB
我定义了以下方法: void Write(string fileContent, string fileName, string container = StorageBlobContainers.P
现在,Require.js是我最喜欢的Javascript编程方式。它可以使代码化整为零,并易于管理。而Require.js Optimizer能帮助我们将一个较大的应用分散成多个较小的应用,并通过
尝试开始使用 apioto http://apiato.io/A.getting-started/installation/ 如果我尝试测试 http://api.apiato.dev/registe
浏览 MDN 文档以查看提议的伪类的状态时,我遇到了 :required(并且扩展为 :optional)。这两个都已经存在很长时间了,但我现在才刚刚了解到。 此选择器与使用属性选择器 [requir
我正在尝试实现此条件:如果存在特定属性,则需要另一个属性;但如果它不存在,则不需要另一个。 另外,在 JSON 模式中,我们可以在依赖项中使用 not 吗? 这是一个示例架构 var schema =
我正在使用react-hot-loader我对其示例代码感到非常困惑: import React from 'react' import ReactDOM from 'react-dom' impor
过去几天我一直在玩 requirejs。我试图理解定义和要求之间的区别。 Define 似乎允许模块分离并允许遵守依赖关系顺序。但它会下载开始时所需的所有文件。而 require 仅在您需要时加载您需
我的项目是使用 angular cli [版本 - 6.1.3] 创建的。 我安装了 npm 模块 - is-reachable并在我的代码中使用它作为 - const isReachable = r
(有人可能会相应地更改标题)当像这样调用 javascript 的 require 方法时到底发生了什么: var xyz = require('xy')(require('z')); 谢谢 最佳答案
我一直在使用编译为 Node 代码的 Typescript 开发应用程序。因此,我更喜欢使用 import 语句来 require。 我一直在尝试将 Lodash 与 Lodash-Deep 一起使用
我在 require 中有一个奇怪的行为,我不知道如何避免(或者也许我的基础知识错误?)。 考虑以下代码: define (require) -> potoo = require "potoo"
这两种加杏仁和不加杏仁有什么区别? require('模块');require(['模块']); 编辑 嵌套: define(function() { require('module'); } def
我愿意使用 require.js 优化器优化我的 javascript 应用程序,但我现在想知道是否也可以在一个文件中包含 require.config 路径和 javascript 模块。事实上,在
我想我需要在一个页面中支持多个 require 实例,但在实现它时遇到了两个问题。我正在开发一项服务,该服务向外部客户端页面提供可嵌入的交互式对象。最重要的设计标准是易于嵌入,尽可能少地假设客户端环境
required 和 ng-required(表单验证)之间有什么区别? 最佳答案 AngularJS 表单元素查找 required属性来执行验证功能。 ng-required允许您设置requir
我有以下多选框: 0" /> 在我的 Controller 中,我在初始化时执行此操作: $scope.form.Slides = []; 如果幻灯片数组中有幻灯片,我希望表单的此元素有效。这些是动
我在 ubuntu 上运行 VPS: Distributor ID: Ubuntu Description: Ubuntu 14.04.5 LTS Release: 14.04 C
我正在使用 ArcGIS API for Javascript 3.21。我在 require() 中有一个函数。我希望在单击按钮时调用该函数,但该按钮位于 require() 之外。
我的浏览器应用程序使用 require.js。该应用程序在屏幕上显示许多不同的小部件之一。 URL 片段包含小部件的路径(require.js 路径),然后调用 require 来动态加载它: var
我是一名优秀的程序员,十分优秀!