Reputation: 1567
I am creating my second iPhone app, and I've included a feedback form using MFMailComposeViewController. This displays and works correctly, but I'm not sure I want all my users to see my email address. Is there any way to set the to: field to my email address, and then hide it so that the user doesn't see it?
Many thanks, Javawag
Upvotes: 1
Views: 1858
Reputation: 889
Swift 5 @jhelzer answer
let yourEmail = "[email protected]"
let mailComposer = MFMailComposeViewController()
let emailString = "App Feedback <\(yourEmail)>"
mailComposer.setToRecipients([emailString])
Upvotes: 1
Reputation: 295
I had the same request from a client where they wanted to mask the email address from the end user. Figured it out by using a formatted email address: displayString <[email protected]>
NSString *yourEmail = @"[email protected]";
MFMailComposeViewController *mailComposer = [[MFMailComposeViewController alloc] init];
NSString *emailString = [NSString stringWithFormat:@"App Feedback <%@>", yourEmail];
[mailComposer setToRecipients:@[emailString]];
It effectually gets you the first image below in the email composer.
Then the user has to tap on the App Feedback
text a couple of times before they can reveal what the actual email address, see second image.
Upvotes: 3
Reputation: 57139
This isn't practical. Even if you were to successfully hide the “To” field in the compose view controller (which would be difficult and probably get you rejected from the App Store), your users could easily see the email address they sent feedback to by checking their email account's sent-mail folder. IWasRobbed's idea—creating an email account specifically for your business or app—is probably the best solution.
Upvotes: 7