AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[iOS] Mail versenden

Ein Thema von Devil1925 · begonnen am 11. Nov 2016 · letzter Beitrag vom 15. Nov 2016
Antwort Antwort
Benutzerbild von Devil1925
Devil1925

Registriert seit: 20. Nov 2015
Ort: Saerbeck
236 Beiträge
 
Delphi 10.3 Rio
 
#1

[iOS] Mail versenden

  Alt 11. Nov 2016, 13:44
Hallo,
ich bräuchte mal eine Gedankenstütze... Ich möchte aus meiner iOS Anwendung heraus den Standardmailclient öffnen, und hier eine neue Mail auf machen, in welcher bereits eine E-Mailadresse eingetragen ist. Jetzt habe ich mehrere Lösungen gesehen, bei welchen das ganze wie beim Webseitenaufruf gelöst wurde, allerdings dann statt mit einem 'http://' mit einem 'mailto:'.

Delphi-Quellcode:
procedure SendMail(Mail:String);
var NSU:NSUrl;
    MyURL:String;
Begin
  if TRIM(Mail) <> 'then
  Begin
    MyURL := 'mailto:' + TRIM(Mail);
    NSU := StrToNSUrl(TIdURI.URLEncode(myURL));
    if SharedApplication.canOpenURL(NSU) then
    Begin
      SharedApplication.openURL(NSU);
    End;
  End;
End;
Für den Webseitenaufruf funktioniert das auch wunderbar (dann halt mit 'http://' statt 'mailto:'), allerdings erhalte ich bei der Übergabe einer Mail immer den Fehler "Protokollfeld ist leer". Soweit ich herausgefunden habe, erscheint dieser Fehler, wenn eine ungültige URL übergeben wird. Allerdings ist die URL 'mailto:test@mail.com' doch korrekt oder? (oder auch eine existierende Mail adresse)

wo habe ich jetzt meinen Knoten im Hirn? hat da jemand gerade mal so eine idee? Ich bin vermutlich einfach nur blind
Philipp
Höllische Grüße
Devil
Meistens sitzt das Problem vor dem Bildschirm! - Leider bin das oftmals ich.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.548 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: [iOS] Mail versenden

  Alt 11. Nov 2016, 14:58
Bei mir sieht das so aus (wir haben vermutlich dieselbe Originalquelle):
Delphi-Quellcode:
function OpenURL(const URL: string;
  const DisplayError: Boolean = False): Boolean;
var
  s: string;
  NSU: NSUrl;
begin
  s := URL;
  if not AnsiStartsText('mailto:', URL) then
    s := TIdURI.URLEncode(s);
  // iOS doesn't like spaces, so URL encode is important.
  NSU := StrToNSUrl(s);
  if SharedApplication.canOpenURL(NSU) then
    exit(SharedApplication.OpenURL(NSU))
  else
    begin
      if DisplayError then
        ShowMessage('Error: Opening "' + URL + '" not supported.');
      exit(False);
    end;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#3

AW: [iOS] Mail versenden

  Alt 11. Nov 2016, 16:30
Der Link wäre noch eine alternative und bietet laut der Beschreibung auch noch mehr Optionen.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
AndyDF

Registriert seit: 6. Sep 2006
Ort: Allgäu
99 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: [iOS] Mail versenden

  Alt 12. Nov 2016, 18:46
Ich verwende dafür die Komponenten von JVESoft. Bin damit recht zufrieden und es wird noch vieles mehr geboten.

Link: http://www.jvesoft.com/wp/
Andreas Blenk
  Mit Zitat antworten Zitat
Benutzerbild von Devil1925
Devil1925

Registriert seit: 20. Nov 2015
Ort: Saerbeck
236 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: [iOS] Mail versenden

  Alt 14. Nov 2016, 14:36
@DeddyH

ich habe deinen Code mal einfach ausprobiert, und bekomme die Fehlermeldung auch bei diesem Code an der Stelle s := TIdURI.URLEncode(s); Protokollfeld ist leer

Kannst du mir erklären was "AnsiStartsText" tut? Das kenne ich nicht und die IDE auch nicht.

@AndyDF eine Neue Komponetne kommt vorerst nicht infrage, wäre halt schön wenn das mit bordeigenen Mitteln funktionieren würde.
Philipp
Höllische Grüße
Devil
Meistens sitzt das Problem vor dem Bildschirm! - Leider bin das oftmals ich.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.548 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: [iOS] Mail versenden

  Alt 14. Nov 2016, 15:03
AnsiStartsText, Du musst dazu StrUtils einbinden, hatte ich vergessen zu erwähnen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz