Я работаю с приложением. В котором пользовательское требование состоит в том, чтобы отправить форму пациента по электронной почте на конкретную учетную запись электронной почты. Проблема в том, что электронное письмо будет отправлено без отображения контроллера mfmailcomposeview. Это означает, что пользователь нажмет одну кнопку отправки, а затем электронное письмо будет отправлено на учетную запись пользователя без mfmailcomposeviewcontroller с устройства iPhone. Является ли это возможным? Может кто-нибудь помочь мне ? Пожалуйста, пришлите мне любой пример этой работы. Я много искал по этому поводу, к сожалению, я не нашел никакого результата.
отправить электронное письмо без отображения MFMailcomposeviewcontroller
Ответы (3)
Apple не предоставляет почтовые платформы для отправки электронной почты без отображения MFMailcomposeviewcontroller.
Программная отправка сообщений электронной почты without user intrection
из приложения iphone не может быть реализована с использованием каких-либо структур Apple.
Это может быть possible in a jailbroken phone
, но тогда он никогда не увидит inside of App Store
.
Для исходного ответа:
Если вы хотите контролировать отправку электронной почты, лучше всего настроить web service (at your server end)
, в который вы можете отправлять сообщения с помощью HTTP-запроса. Если вы отправляете сообщение только на один адрес, это может сработать очень хорошо, хотя вы можете попросить пользователя ввести свой обратный адрес электронной почты.
Это не поддерживается iPhone SDK, вероятно, потому, что Apple не хочет, чтобы вы это делали.
Почему нет? Мое предположение: потому что этим легко злоупотребить. Если бы мы знали адрес электронной почты пользователя, мы могли бы спамить им, мы могли бы подделать электронные письма от них и т. Д. Представьте, что приложение для iPhone отправляет электронное письмо, когда вы без вашего ведома - это не круто, даже если у приложения были добрые намерения.
Итак, все, что вы сделаете, чтобы обойти это, скорее всего, приведет к отказу в магазине приложений.
Сказав все это, вы могли бы написать свой собственный код взаимодействия smtp для чата с сервером исходящей почты пользователя. Например, если у пользователя есть учетная запись Gmail, вы можете запросить у них адрес электронной почты и пароль, вам нужно будет знать, как разговаривать с серверами Gmail и отправлять через них электронную почту.
Переход по этому маршруту означает запрос у пользователя его имени пользователя и пароля, а также запрос или выяснение информации об их почтовом сервере. Другой вариант - отправить прямо с телефона (ваш собственный smpt-сервер, а не только клиент), что требует немного большего количества кода. И если вы напишете свой собственный сервер, отправляемая вами почта с большей вероятностью будет заблокирована, поскольку ваш исходный IP-адрес может не совпадать с доменом в электронной почте отправителя.
Также существуют библиотеки, которые могут помочь
Открытая библиотека Cocoa / Cocoa-Touch POP3 / SMTP?
Билал, я думаю, ты не используешь это
if ([MFMailComposeViewController canSendMail] )
{
MFMailComposeViewController *mailController = [[MFMailComposeViewController
alloc] init];
[mailController setMailComposeDelegate:self];
[mailController setSubject:@"Patient Form"];
[mailController setMessageBody:increments isHTML:YES ];
[mailController setToRecipients:[NSArray arrayWithObject:@"email id"]];
[self presentViewController:mailController animated:NO completion:nil];
}
используйте его, нажав кнопку отправки, я надеюсь, что это поможет вам