这是我的php脚本,它只发送一封电子邮件......
<?php
$headers = "From: info@mycompany.com" . "\r\n";
mail("info@mycompany.co.nz", $_GET["subject"], $_GET["body"], $headers);
?>
我在Chrome浏览器中找到此网址...
http://www.myserver.com/myPHPScript.php?subject=Test Email&body=This is a test email
...它成功执行了php脚本并发送了电子邮件。
现在问题 - 我尝试通过执行以下操作在C#中复制它...
// Start this method by calling StartCoroutine (SendMail());
public IEnumerator SendMail() {
string body = "This is a test email";
string subject = "Test Email";
WWW www = new WWW("http://www.myserver.com/myPHPScript.php?subject=" + subject + "&body=" + body);
yield return www;
}
然而,它不起作用。我怎样才能让这个C#脚本完美地模仿我的Chrome浏览器中的网址。
答案 0 :(得分:2)
最有可能的情况是您的主题和/或正文不具有URL友好性。 Unity的WWW课程提供了一种方法 WWW.EscapeURL method
所以只需在代码中更改这一行
WWW www = new WWW(WWW.EscapeURL("http://www.myserver.com/myPHPScript.php?subject=" + subject + "&body=" + body));
它应该有用。
答案 1 :(得分:1)
我必须对主题和正文进行编码才能转义字符。 (EG,&#34;&#34;被%20取代)
然后在PHP的一面 - 我使用rawurldecode(string)
将十六进制转义的字符转换回文字