代码之家  ›  专栏  ›  技术社区  ›  Michael Morrison

通过发布在iPhone应用程序中的电子邮件发送隐藏字段

  •  0
  • Michael Morrison  · 技术社区  · 16 年前

    我让我的应用程序的用户从应用程序内部发送电子邮件,在我的服务器上共享一些内容。要做到这一点,我需要包含一个包含两个数据位的按钮,我想使用post来保持它的某种隐藏性。我决定添加一个HTML表单,使用post和电子邮件中的两个隐藏字段,就像这样:

    NSString *buttonCode = [NSString stringWithFormat:@"<form method='post' action='http://www.example.com/iphone/nifty.php'>
     <input type='hidden' name='dataOne' value='%@'>
     <input type='hidden' name='dataTwo' value='%@'>
     <input type='submit'value='Submit'></form>",dataOne, dataTwo];
    NSString *emailBody = [NSString stringWithFormat:
            @"<b>%@ - %@</b>\n\n<HR WIDTH=200 SIZE=2 COLOR=#755f0f ALIGN=CENTER>\n Here is a email:<br><br>%@", 
             dateString, 
             timeString,
             buttonCode];
    [picker setMessageBody:emailBody isHTML:YES];
    

    通过查看电子邮件的原始来源,我已经确认表单是正确构造的,并且我已经将其复制并粘贴到一个网页上,并且可以正常工作。

    这就是问题所在。当我点击收到的电子邮件中的按钮(使用苹果的邮件客户端)时,dataOne和dataTwo变量不会传递到我的服务器。

    有没有更好的方法可以做到这一点,还是我的邮件客户端有问题?

    =====更新=========

    我认为这可能与iPhone在电子邮件中添加的行有关:

    --苹果邮箱1-23863057 内容类型:文本/html; 字符集= UTF-8 内容传输编码:7bit

    当我将enctype=“text/html”添加到服务器上测试html的表单中时,上面提到的变量不会被接收。

    有没有一种方法可以从iPhone中改变它,并以另一种方式发送?

    1 回复  |  直到 16 年前
        1
  •  0
  •   unlobito    16 年前

    enctype只是告诉邮件客户端电子邮件包含HTML,问题是邮件客户端正在删除字段。

    推荐文章