You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用自有托管转发Twilio录音至邮箱问题求助

解决Twilio Studio语音留言无录音链接的问题

1. 修正Studio HTTP请求的参数传递

Twilio Studio的「Record Voicemail」组件不会自动把录音URL等参数传给你的脚本,需要手动配置:

  • 打开Studio流程里的HTTP请求组件,切换到Parameters标签页
  • 添加两组键值对:
    • 键:RecordingUrl,值:{{widgets.你的录音组件名称.RecordingUrl}}(替换成你实际的录音组件名称,比如组件叫record_voicemail就写{{widgets.record_voicemail.RecordingUrl}})
    • 键:From,值:{{trigger.call.From}}

2. 修复PHP脚本的参数获取与格式问题

你的脚本存在两个核心问题:未校验参数、录音URL缺少播放后缀,修改后的代码如下:

<?php
header('Content-type: text/xml');
echo '<?xml version="1.0" encoding="UTF-8"?>'; 
echo '<Response></Response>';

// 兼容参数不存在的情况,避免空值
$from = $_POST['From'] ?? '未知号码';
// Twilio的录音URL需要加.mp3后缀才能直接播放
$recordingUrl = ($_POST['RecordingUrl'] ?? '') . '.mp3';

$to = "your-email@example.com"; // 替换为你的接收邮箱
$subject = "来自{$from}的语音留言";
$message = "点击链接收听留言:{$recordingUrl}";
$headers = "From: webmaster@example.com"; // 替换为合法的发件邮箱

mail($to, $subject, $message, $headers);
?>

3. 验证脚本是否收到参数

在脚本中添加日志代码,确认Twilio是否正确传递了参数:

// 放在mail函数前,记录POST参数到日志文件
file_put_contents('twilio_recording_log.txt', print_r($_POST, true) . "\n\n", FILE_APPEND);

执行后查看服务器上的twilio_recording_log.txt,确认是否存在RecordingUrl和From字段。

4. 排查Twilio请求状态

登录Twilio控制台,进入Monitor → Events,找到对应HTTP请求记录:

  • 查看请求的参数列表,确认Twilio是否发送了RecordingUrl
  • 检查响应状态码,若为404说明脚本路径错误,500说明脚本存在语法错误

5. 邮件发送可靠性优化

部分服务器默认mail()函数可能无法正常发送邮件,建议替换为PHPMailer等专业邮件库,同时确保发件邮箱符合服务器的SMTP配置规则,避免邮件被拦截。

内容的提问来源于stack exchange,提问作者Yarseo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 07:15:38