ios4.3.4: MFMailComposer не отправляет электронное письмо, но возвращает статус MFMailComposeResultSent

Я использую MFMailComposer. Я отправляю письмо на gmail, MFMailComposer возвращает статус MFMailComposeResultSent. Но я не получил никакого электронного письма. Я тестировал на iphone4 с 4.3.4. Что я делаю неправильно?

MFMailComposeViewController *mailPicker = [[MFMailComposeViewController alloc] init];
    mailPicker.mailComposeDelegate = self;

    // Set the subject of email
    [mailPicker setSubject:@"Subject"];
    NSString *emailBody = @"Hello from ios";

    // This is not an HTML formatted email
    [mailPicker setMessageBody:emailBody isHTML:NO];


    [self presentModalViewController:mailPicker animated:YES];

    [mailPicker release];


- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error
{
    if (result == MFMailComposeResultFailed) 
 {
    UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error" message:[error description] delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [alertView show];
    [alertView release];
 }
if (result == MFMailComposeResultSent)
 {
    UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Success" message:@"Message has been sent" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [alertView show];
    [alertView release];
 }
else
 {
    [self dismissModalViewControllerAnimated:YES];
 }
}

РЕДАКТИРОВАТЬ: я нашел это в консоли:

DA|Could not open the lock file at /tmp/DAAccountsLoading.lock. We'll load the accounts anyway, but bad things may happen

EDIT2: на iPhone4 с 4.3.4 не работает, а на iPod с 4.3 работает нормально.


person Voloda2    schedule 24.11.2011    source источник
comment
может быть, это отфильтровывается как спам?   -  person Yahia    schedule 24.11.2011
comment
Я смотрю спам gmail, но я не нашел ни одной почты iphone.   -  person Voloda2    schedule 24.11.2011
comment
Вы пытались перезагрузить устройство, чтобы очистить содержимое каталога /tmp? возможно, это может удалить блокировку, которая вызывает у вас проблемы   -  person viggio24    schedule 27.11.2011


Ответы (2)


Вы не делаете ничего плохого. Проверьте эту строку с веб-сайта Apple:

MFMailComposeResultSent — сообщение электронной почты было поставлено в очередь в папке «Исходящие» пользователя. Он готов к отправке при следующем подключении пользователя к электронной почте.

person Andreas Simiakakis    schedule 07.10.2012

Не выпускайте сборщика почты в указанном месте [mailPicker release]; .. попробуйте использовать метод Autorelease для

MFMailComposeViewController *mailPicker = [[[MFMailComposeViewController alloc] init]autorelease];

в остальном хорошо.

person medampudi    schedule 24.11.2011
comment
Неважно. mailPicker будет сохранено при представлении в качестве модального - person beryllium; 24.11.2011
comment
@beryllium У меня была та же проблема, поэтому я решил ее с помощью этого метода, поэтому не могли бы вы предложить что-нибудь получше ... я также хочу узнать больше об этом, чтобы реализовать в своих приложениях. - person medampudi; 24.11.2011