iphone
  • email
  • forms
  • 2010-04-04 38 views 0 likes 
    0

    我让应用的用户从应用内发送电子邮件以共享myserver上的一些内容。要做到这一点,我需要包含一个两位数据的按钮,我想使用POST来保持它隐藏。我已经决定增加在电子邮件中使用POST和两个隐藏字段,而HTML表单,像这样:通过POST在iPhone应用内电子邮件中发送隐藏字段

    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添加到电子邮件行:

    --apple邮件-1--23863057 Content-Type:text/html; 字符集= UTF-8 内容传送编码:7位

    当我在上述没有接收到的变量如所提到的在服务器上的HTML测试添加ENCTYPE =“text/html的”来的形式。

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

    回答

    0

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

    +0

    当我将电子邮件中的代码(使用原始源代码)复制并粘贴到网页中时,代码工作正常。也许这只是不可能使用MFMailComposeViewController使用POST发送表单。 – 2010-04-04 05:09:35

    +1

    你说这个表格显示在收到的电子邮件中。将表单放在网站上的测试表单上,并将其放在电子邮件上会给你带来完全不同的结果,因为你将其放在网站上的步骤很少。如果您发布收到的电子邮件的原始来源,这将真的有帮助。 – 2010-04-04 15:35:12

    +0

    感谢亨利, 这里是完整的电子邮件PasteBin http://pastebin.com/1mxJjuGa – 2010-04-05 13:57:41

    相关问题