Подтвердить что ты не робот

Отправить почту без MFMailComposeViewController

Я хочу отправить почту из приложения iPhone, не показывая MFMailComposeViewController. Я также хочу, чтобы это письмо отправлялось из учетной записи почты по умолчанию пользователя. Можно ли это сделать?

4b9b3361

Ответ 1

Это не поддерживается iPhone SDK, вероятно, потому, что Apple не хочет, чтобы вы это делали.

Почему бы и нет? Мое предположение: потому что это легко злоупотреблять. Если бы мы знали адрес электронной почты пользователя, мы могли бы спамить их, мы могли бы подделывать электронные письма от них и т.д. Представьте себе, что iPhone-приложение отправило вам электронное письмо без вашего ведома - не круто, даже если у приложения были хорошие намерения.

Итак, все, что вы делаете, чтобы обойти это, скорее всего, заставит вас отказаться от магазина приложений.

Сказав все это, вы могли бы написать свой собственный smtp код взаимодействия для общения с сервером исходящей почты пользователя. Например, если у пользователя есть учетная запись gmail, вы можете задать им свой адрес электронной почты и пароль, вам нужно будет знать, как разговаривать с серверами gmail, и отправлять по электронной почте через них.

Переход по этому маршруту означает, что пользователь запрашивает имя пользователя, пароль и запрашивает или выясняет информацию о своем почтовом сервере. Другой выбор - отправить непосредственно с телефона (ваш собственный smpt-сервер, а не только клиент), что немного больше кода. И если вы пишете свой собственный сервер, отправляемая вами почта, скорее всего, будет заблокирована, так как ваш исходный IP-адрес может не соответствовать домену в электронной почте отправителя.

Существуют также библиотеки, которые могут помочь. Предыдущий связанный с этим вопрос:

Ответ 2

Есть законные причины для отправки электронной почты. (Например, связь с сервером с использованием SMTP вместо HTTP)

Этот пост в блоге должен вас поймать: http://vafer.org/blog/20080604120118