-3

私の iPhone アプリケーションでは、MFMailComposer に添付ファイルを追加しています。その添付ファイルは url link.in としてあり、そのリンクには pdf ファイルがあります。[送信] をクリックしても、URL リンクが送信先のメール アドレスに送信されません。

私はこのコードを使用しています

  -(void)sendMail
 {
    MFMailComposeViewController *mailView= [[MFMailComposeViewController alloc] init];
    mailView.mailComposeDelegate=self;
    [mailView setSubject:titleString];
    NSArray  *array = [[NSArray alloc]initWithObjects:emailString, nil];
    [mailView setToRecipients:array];
    NSData *textData = [NSData dataWithContentsOfFile:self.fileString];
    [mailView addAttachmentData:textData mimeType:@"text/plain" fileName:self.fileString];

    [mailView setMessageBody:self.templatetextstring isHTML:YES];
    [self presentModalViewController:mailView animated:YES];
 }
4

2 に答える 2

2

このコードを使用

NSString *link = [NSString stringWithFormat:@"http://www.google.com"];
[controller setMessageBody:[NSString stringWithFormat:@"<p><font size=\"2\" face=\"Helvetica\"><a href=%@></br>%@</br></a></br></font></p>",link,@"Google"] isHTML:YES];

それがあなたを助けることを願っています..

于 2013-01-03T13:49:17.353 に答える
1

おそらく、PDFドキュメントを添付したいのか、PDFドキュメントへのリンクを追加したいだけなのか、あなたの質問を理解しているかどうかわからないので、両方に答えます。PDFデータをメールに添付するために使用するコードは次のとおりです

- (void)emailFile
{
    if(![MFMailComposeViewController canSendMail]) {
        UIAlertView *cantSend = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Device not configured to send email" delegate:self cancelButtonTitle:nil otherButtonTitles:@"OK", nil];
       [cantSend show];
    } else {
        MFMailComposeViewController *mailView = [[MFMailComposeViewController alloc] init];
        mailView.mailComposeDelegate = self;

        [mailView setSubject:@"PDF Attached to email"];

        // Adding an actual PDF document to the email.
        [mailView addAttachmentData:(__bridge NSData *)myPDFData mimeType:@"pdf" fileName:@"AttachedPDFDocument"];

        [mailView setMessageBody:[NSString stringWithFormat:@"Sending %@. This email maybe sent as junk mail",fileName] isHTML:NO];
        [self presentModalViewController:mailView animated:YES];
     }
}

実際のpdfではなくpdfデータを追加していることに注意してください。次に、拡張子(MimeType)をpdfに設定し、ファイルの名前を設定します。作成中の電子メールに添付ファイルを簡単に追加できます。

メールにリンクを追加するには、次のように簡単です

    - (void)emailFile
{
    if(![MFMailComposeViewController canSendMail]) {
        UIAlertView *cantSend = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Device not configured to send email" delegate:self cancelButtonTitle:nil otherButtonTitles:@"OK", nil];
       [cantSend show];
    } else {
        MFMailComposeViewController *mailView = [[MFMailComposeViewController alloc] init];
        mailView.mailComposeDelegate = self;

        [mailView setSubject:@"PDF Link added in HTML"];

        // Adding a HTML Link to an email. Remembering to set the Message to allow HTML.
        NSString *link = [NSString stringWithFormat:@"http://www.google.com"];
        [mailView setMessageBody:[NSString stringWithFormat:@"<p><font size=\"2\" face=\"Helvetica\"><a href=%@></br>%@</br></a></br></font></p>",link,@"Google"] isHTML:YES];

        [self presentModalViewController:mailView animated:YES];
     }
}

setMessage最初の例では HTML を使用していませんが、HTML を使用するように設定しているデータを添付していないことに注意してください。NSStringこれにより、html 要素を含むメッセージ本文にを設定できるようになります。

編集

myPDFData は、CFDataRefWeb サービスからダウンロードした PDF の dataContent の 1 つであり、ユーザーはそれを電子メールで自分自身に転送できます。を使用している場合は、 attachmentData を設定ARCするときにブリッジを追加する必要があります。(__bridge NSData *)myPDFData

お役に立てれば。

于 2013-01-03T13:56:36.747 に答える