如何仅用img标签在邮件中向AWS Lambda传递完整User Agent?
实现方法
不需要在img标签里手动传递User Agent,邮件客户端加载图片时会自动把自身的User Agent以HTTP请求头的形式发送给Lambda的URL,你只需要在Lambda代码里直接读取这个请求头就行。
- 保持img标签不变:
<img alt="" src="https://lambda-url?att=data"> - 在Lambda中提取User Agent(以Python为例):
def lambda_handler(event, context): # 从请求头获取User Agent,无值时返回默认标识 user_agent = event['headers'].get('User-Agent', 'Unknown') # 此处添加你的业务逻辑,比如记录或使用该User Agent print(f"用户代理信息: {user_agent}") # 返回200状态和空响应,避免邮件客户端显示加载失败图标 return { 'statusCode': 200, 'body': '' } - 额外注意:Lambda URL需允许GET请求,返回的响应建议用200状态码,响应体也可以是1x1的透明像素(如
data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==),进一步避免邮件显示加载异常标识。
内容的提问来源于stack exchange,提问作者BntMrx
相关产品推荐
相关产品推荐

