我让我的应用程序的用户从应用程序内部发送电子邮件,在我的服务器上共享一些内容。要做到这一点,我需要包含一个包含两个数据位的按钮,我想使用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中改变它,并以另一种方式发送?