Почему во второй ситуации, когда twilio вызывает страницу? Есть ли символы, которые могут быть возвращены из api, которые делают письмо недоступным?Почему почта php отправляется, но не принимается, если я вручную не вызову скрипт?
1) Если я нахожу URL-адрес в броузере, он пытается сделать wav-файл в моей папке с записями, и я получаю письма и текстовые сообщения всем получателям. Выведенный ниже результат подается, а «1» указывает, что сообщение было отправлено.
2) Если twilio вызывает страницу и обрабатывает xml, фактическое сообщение записывается на мой сервер, а вывод ниже обслуживается twilio (который я проверил в своей учетной записи), но никто не получает письмо или текст. Тело xml по-прежнему показывает «1» после допроса, указывая, что сообщение отправлено.
Мой сценарий:
<?php
date_default_timezone_set('America/New_York');
//copy the remote wav file to my server
$recording = file_get_contents($_REQUEST['RecordingUrl']);
$name = "recordings/".str_replace("+","",$_REQUEST['Caller'])."-".date('Y-m-d-G-i-s',time()).".wav";
$fh = fopen("../".$name, 'w') or die("can't open file");
$stringData = $recording;
fwrite($fh, $stringData);
fclose($fh);
//email the people that need to get the message
$to = "[email protected]";
$subject = "Voicemail from ".$_REQUEST['From'];
$message = "Click below to listen to your message:\n\r http://domain.com/twilio/".$name;
$from = "[email protected]";
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
$to = "[email protected]";
mail($to,$subject,$message,$headers);
$to = "[email protected]";
$sent = mail($to,$subject,$message,$headers);
header("content-type: text/xml");
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n
<Response>
<Say>Thank you for your message. Good bye.".$sent."</Say>
<Hangup/>
</Response>";
?>
выходы:
<Response>
<Say>Thank you for your message. Good bye.1</Say>
<Hangup/>
</Response>
Я просто проверить, чтобы увидеть, что содержимое каждой переменной в функции PHP почты, когда Twilio вызывает сценарий, чтобы увидеть, если есть является символом, присутствующим в прямом сообщении twilio. Получается так:
$to = [email protected]
$subject = Voicemail from +19545555555
$message = Click below to listen to your message:
http://domain.com/twilio/recordings/19545555555-2013-10-12-22-57-03.wav
$headers = From:[email protected]
Если я вызываю скрипт вручную в браузере они:
$to = [email protected]
$subject = Voicemail from
$message = Click below to listen to your message:
http://domain.com/twilio/recordings/-2013-10-12-23-04-37.wav
From:[email protected]
ли вы проверить папку со спамом? –
Я сделал это сейчас, но его там нет. В первом случае, когда я вручную вызываю сценарий, я получаю письма обычно. Во втором сообщении не отправляется, даже в папку со спамом. –