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
Seite 1 von 2  1 2      
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, 14: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.625 Beiträge
 
Delphi 12 Athens
 
#2

AW: [iOS] Mail versenden

  Alt 11. Nov 2016, 15: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, 17: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, 19: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, 15: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.625 Beiträge
 
Delphi 12 Athens
 
#6

AW: [iOS] Mail versenden

  Alt 14. Nov 2016, 16: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
Benutzerbild von Devil1925
Devil1925

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

AW: [iOS] Mail versenden

  Alt 14. Nov 2016, 16:50
Danke, kein Problem!

Aber hast du eine Idee warum das mit dem Mailen nicht funktioniert?
Funktioniert denn der Code bei dir? Und wie Sieht dein Aufruf aus?

Ich rufe das Folgendermaßen auf: ist das Falsch?

OpenURL('mailto:'+Query.FieldbyName('Email').AsString);

(Das Feld EMail beinhaltet hier die Emailadresse, wer häts erwartet)
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.625 Beiträge
 
Delphi 12 Athens
 
#8

AW: [iOS] Mail versenden

  Alt 14. Nov 2016, 16:58
Bei mir funktioniert mein geposteter Code, sonst hätte ich ihn ja nicht gepostet. Hast Du ihn irgendwie geändert? Was sagt der Debugger, wird die "URLEncode" angesprochen, trotz "mailto:'?
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
bra

Registriert seit: 20. Jan 2015
711 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#9

AW: [iOS] Mail versenden

  Alt 14. Nov 2016, 17:03
Was passiert denn, wenn du (unabhängig von deiner App) eine HTML-Seite mit mailtox erstellst und mal dort den Link anklickst. Funktioniert es dort? Nicht dass es ein allgemeines Einstellungsproblem am Gerät ist.
  Mit Zitat antworten Zitat
Benutzerbild von Devil1925
Devil1925

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

AW: [iOS] Mail versenden

  Alt 14. Nov 2016, 17:07
nun wird URLEncode nicht angesprochen, allerdings liefert mir CanopenURL den Wert "FALSE" zurück.

Kurze idee: Kann das daran Liegen, dass ich das nur im Simulator teste? also das mir False zurück geliefert wird? ist mir gerade so eingefallen...

ich werde das morgen mal auf einem Echtgerät testen, ich vermute irgendwie das mir deswegen False zurück geliefert wird, melde mich dann morgen noch mal!

Jetzt erstmal einen schönen Feierabend!
Philipp
Höllische Grüße
Devil
Meistens sitzt das Problem vor dem Bildschirm! - Leider bin das oftmals ich.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 08:33 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