iPhone: отправка электронной почты с пользовательским типом контента - PullRequest
1 голос
/ 06 декабря 2010

Я пытаюсь отправить электронное письмо из приложения с пользовательским типом контента.

Есть идеи, как это сделать?

Так что мне нравится менять

"Content-Type": "multipart / mixed; border = Apple-Mail-1--209662383" -> "application / pkcs7-mime; name = smime.p7m; smime-type = enveloped-data"

и «Content-Transfer-Encoding»:

«7bit» -> «base64»

Ответы [ 2 ]

1 голос
/ 21 декабря 2010

Я использовал http://code.google.com/p/skpsmtpmessage/ для отправки пользовательских писем с iOS.

0 голосов
/ 06 декабря 2010
  • (void) launchInAppMail {

    MFMailComposeViewController * controller = [[MFMailComposeViewController alloc] init];

    controller.mailComposeDelegate = self;

    [controller setSubject: @ "В электронной почте приложения ..."];

    NSMutableString * messageString = [[NSMutableString alloc] init];

    if (! (mNameField.text == nil || [mNameField.text isEqualToString: @ ""])) {

    [messageString appendFormat:@"Name: %@ \n",mNameField.text];
    

    } if (! (mPhoneNumberField.text == nil || [mPhoneNumberField.text isEqualToString: @ ""])) {[messageString appendFormat: @ "Номер телефона:% @ \ n", mPhoneNumberField.text];

    }

    if (! (mEmailField.text == nil || [mEmailField.text isEqualToString:@ ""])) {[messageString appendFormat: @ "Идентификатор электронной почты:% @ \ n", mEmailField.text];}

    if (! (MTextView.text == nil || [mTextView.text isEqualToString: @ ""])) {

    [messageString appendFormat:@"Desription: %@ \n",mTextView.text];
    

    }

    if (! (mProblemNameButton.titleLabel.text == nil || [mProblemNameButton.titleLabel.text isEqualToString: @ ""])) {

    [messageString appendFormat:@"Problem Name:  %@ \n",mProblemNameButton.titleLabel.text];
    

    }

    [messageString appendFormat: @ "Address:% @ \ n ", self.mAddress];

    if (self.coordinateLoc)

    [messageString appendFormat:@"Longitude: %f, Latitude: %f \n", self.coordinateLoc.coordinate.longitude, self.coordinateLoc.coordinate.latitude];
    

    [controller setToRecipients: [NSArray arrayWithObject: @" service@emergencylocksmithleads.com "]];

    [controller setMessageBody: messageString isHTML: NO];

    [releaseString release];

    if (mImageView.image! = Nil) {

    NSData *imageData = UIImageJPEGRepresentation(mImageView.image, 1);
    
    
    [controller addAttachmentData:imageData mimeType:@"image/jpg" fileName:@"example.jpg"];
    

    }

    [self presentModalViewController: контроллер анимирован: ДА];

    [выпуск контроллера];}

Прагма Марк --------------------------------------------

отметка прагмы Методы делегата MFMailComposeViewController

  • (пусто) mailComposeController: (MFMailComposeViewController *) контроллер1059 *) error {switch (result) {
    case MFMailComposeResultCancelled:
    NSLog (@ "Почта отправлена ​​отменена.");
    / Выполните здесь свой код для отмененного события ... /
    break;
    case MFMailComposeResultSaved:
    NSLog (@ "Почта сохранена.");
    /
    Выполнить код для сохраненного события электронной почты здесь ... * /
    break;
    case MFMailComposeResultSent: {UIAlertView * alert = [[UIAlertView alloc] initWithTitle: @ Сообщение "Mail Sent" отправлено: nil делегат: self cancelButtonTitle: @ "OK" otherButtonTitles: nil];alert.tag = 1;alert.delegate = self;[оповещение];[оповещение об освобождении];break;
    } case MFMailComposeResultFailed: {UIAlertView * alert = [[UIAlertView alloc] initWithTitle: @ «Ошибка отправки почты»: nil делегат: self cancelButtonTitle: @ «OK» otherButtonTitles: nil];alert.tag = 2;alert.delegate = self;[оповещение];[оповещение об освобождении];break;
    } по умолчанию:
    break;
    } [controller dismissModalViewControllerAnimated: YES];}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...