2013-01-03 44 views
-2

發在我的iPhone應用程序,在MFMailComposer,我米添加的附件。該附件作爲一個URL鏈接在該鏈接有一個PDF文件。當我點擊發送url鏈接不發送到目標郵件地址。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]; 
} 
+1

粘貼的你已經嘗試 –

+0

如果要添加一個鏈接,爲什麼不把它放到電子郵件的正文中的代碼?的 – propstm

+0

可能重複[MFMailComposeViewController:我怎麼嵌入一個可點擊的URL鏈接到電子郵件正文](http://stackoverflow.com/questions/2058447/mfmailcomposeviewcontroller-how-do-i-embed-a-clickable-url-鏈接到最電子郵件) – petert

回答

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]; 

希望它可以幫助你..

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,然後我設置分機(Mime類型)爲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 。這將允許您在包含html元素的消息正文中設置NSString

編輯

myPDFData是我從web服務下載,然後用戶可以通過電子郵件轉發給自己的PDF的dataContent的CFDataRef。如果你正在使用ARC則需要設置attachmentData時添加的橋(__bridge NSData *)myPDFData

希望這會有所幫助。

相關問題