我想使用PhpMailer以邮件身份发送php页面数据。
我的所有代码都正常运行。
我的主页代码:
object mapiObject; //on the class/global level
..
mapiObject = Application.Session.MAPIOBJECT;
...
Task.Factory.StartNew(() => {
Redemption.RDOSession session = new Redemption.RDOSession();
session.MAPIOBJECT = mapiObject;
Redemption.RDOStore pstStore = session.Stores["YourStoreName"];
Redemption.RDOFolder rootFolder = pstStore.IPMRootFolder;
Redemption.RDOFolders folders = rootFolder.Folders;
for (int i = 0; i < 500; i++)
{
var folder = folders.Add("Test" + DateTime.Now.Ticks);
Marshal.ReleaseComObject(folder);
}
Marshal.ReleaseComObject(folders);
Marshal.ReleaseComObject(rootFolder);
Marshal.ReleaseComObject(session);
}
我的welcome.php代码
<?php
require_once('libs/PHPMailer/PHPMailerAutoload.php');
require 'libs/PHPMailer/class.phpmailer.php';
$some_page_contents = file_get_contents('welcome.php');
$mail = new PHPMailer();
$mail->IsMail();
$mail->Host = "smtp.example.com";
$mail->Username = "first@example.com";
$mail->Password = "example";
$mail->SetFrom("first@example.com","first User");
$mail->AddAddress("second@example.com");
$mail->isHtml(true);
$mail->Subject = "Second PHPMailer Message";
$mail->Body = $some_page_contents;
$mail->WordWrap = 50;
$mail->Send();
?>
我收到的邮件<?php
echo 'hello';
我是通过邮件获得php正文吗?
答案 0 :(得分:0)
我遇到过很多次。我有很多需要发送模板化电子邮件的应用程序。我通过使模板加载变量来解决这个问题。例如,在我的主文件中,我只有一个include语句来包含模板文件。在include之后我将消息体设置为指定变量,让我们称之为$ body。但是在实际的模板文件中,我会像这样设置正文。
$body = <<<EOF
Hello $name!!
EOF;
通过这种方式,您可以在模板文件中运行PHP代码并获得一个变量。
我解决此问题的另一种方法是只使我的模板明文,但使用像{name}这样的占位符,只需使用str_replace函数将{name}的所有实例替换为实际变量值。
这些都不是真正的答案,而是更多的选择。祝你好运。