2016-03-21 17 views
0

Bu yüzden SendGrid kullanarak e-posta için ekli bir dosya olarak yakalanan bir görüntü göndermeye çalışıyorum. Email için sendmail işlevini ve attachImage yöntemini tanımladım. Bunu paylaşabilir veya telefona kaydedebilmek için ekran görüntüsü işlevi ekranın bir bölümünü yakalar - e-posta gönderimi yoluyla görüntü yakalandı

public extension SendGrid { 
    public class Email { 
    ...... 
     public var images: [UIImage]! 

     public func attachImage(image: UIImage) { 
      if self.images == nil { 
       self.images = [] 
      } 
      self.images.append(image) 
     } 
    } 
} 

sonra

var sg = SendGrid(username: "*****", password: "*****") 
var email = SendGrid.Email() 

func sendMail(){ 
    screenShot() 

    do { 
     try 
     email.addTo("[email protected]", name: "Sehwan") 
     email.setFrom("[email protected]", name: "test") 
     email.setSubject("Hello Images") 
     email.setHtmlBody("<p>Up Thai, Wolfgang, Benihana, Wa.</p><br><br><p>Nice it works</p>") 
     email.attachImage(shareImage) 
    } catch { 
     print(error) 
    } 

    if(shareImage != nil){ 
     do { 
      try 
      sg.send(email, completionHandler: { (response, data, error) -> Void in 
       if let json = NSString(data: data!, encoding: NSUTF8StringEncoding) { 
        print(json) 
       } 
      }) 
     } catch { 
      print(error) 
     } 
    } 
} 

func screenShot(){ 
    UIGraphicsBeginImageContextWithOptions(CGSizeMake(backgroundImage.frame.size.width, backgroundImage.frame.size.width), false, 0) 
    self.view?.drawViewHierarchyInRect(CGRectMake(0, -40, view.bounds.size.width, view.bounds.size.height), afterScreenUpdates: true) 
    shareImage = UIGraphicsGetImageFromCurrentImageContext() 
    UIGraphicsEndImageContext() 
} 

Her şey iyi çalışıyor bu işlevi çağırarak. Ayrıca e-posta bölümü, e-posta görüntü dosyası olmadan gelir dışında çalışır.

Yakalanan görüntünün, appGift kullanarak bir ek olarak nasıl e-postayla gönderilebileceğinden emin değilim. Her türlü tavsiyeyi çok takdir ediyorum.

cevap

0

Bunların API reference tam olarak nasıl yapılacağını açıklar.

Ilgili bölümü:

dosyaları 7MB Dosyalar eklenecek az olmalıdır.

Dosya içeriği çok bölgeli HTTP POST'un bir parçası olmalıdır.

Ör: dosya [file1.jpg] = file1.jpg & dosya [file2.pdf] = file2.pdf

+0

onların örnekler zaten adını ve yolunu dosyalar içindir. Yakalanan görüntüyü yazdırdığımda, " boyut {375, 375} yönelim 0 ölçeği 2.000000" alırım. Uygulamada yakalanan resim dosyasına bir yol vermenin bir yolu var mı? –

+0

btw, düzenleme için çok teşekkürler! Kimlik ve şifreyi koddan kaldırmayı unuttum. Tekrar, teşekkürler –