私はこれが不思議ですが、 ".com"がPHPメール( - xyz.comのような)を送信するために件名や本文に追加されると、メールは送信されません。このホスティング会社(ipage)の問題ですが、私はスクリプト自体で行うことができるかどうかを知りたいのです。なぜなら、それは鉱山のCMSだからです。私はそれを使用するすべての人に一般化しておきたいと思います。PHPメールは ".com"を処理しません
スクリプトは簡単で、次のように:あなたが見ることができるよう
function confirmEmail($username, $email, $confirm_code) {
$sitename = str_replace(".com", " .com", site_name);
$subject = "Your confirmation link here";
$headers .= 'To: '.$username.' <'.$email.'>' . "\r\n";
$headers .= "From: ".$sitename." <".support_email.">". "\r\n";
$message = "Your Comfirmation link \n
Click on this link to activate your account \n
".root."/confirm.php?confirm=$confirm_code";
$message = wordwrap($message, 70);
$sendmail = mail($username,$subject,$message,$headers);
if ($sendmail) {
return true;
} else {
return false;
}
}
は今、私はのために(先頭にスペースに注意)『.COM』で「.COM」を置き換えます$ sitename variableとしても問題はありませんが、 "root"にはgivinサイトへのフルパスが含まれているので、リンクは "xyz.com/confirm.php?confirm=$confirm_code"のようになります。私は明らかにユーザーが自分の電子メールからリンクをクリックすることができないので、 "xyz .com/etc ..."のようなサイトパスの '.com'の前に空白を入れることはできません。
私はこれが奇妙な問題であることを知っています。私は何が起こっているのか、何を変えようとホスティングに頼むべきかについて何の手がかりも持っていません。
* note:site_nameとrootは別のページで以前に定義されており、正常に動作します。また、エラーは返されません。
NVMについて私の答えは、間違った質問を理解しました。それでもリンクを維持しながらこれを行う方法はありませんが、あなたはYouTubeの方法でそれをやり遂げることができます:www.example DOT com – orlp
恐らくスパムフィルターが使われていますか? –
別のルートを考えてみましょう - ホスティング会社のメールが壊れている場合は、Gmailを使ってメールを送信します(SMTP経由)。無料で、とてもうまく動作します。 –