Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. General talk
  3. Brainstorm
  4. How can the user send email to me from my app ?
Forum Updated to NodeBB v4.3 + New Features

How can the user send email to me from my app ?

Scheduled Pinned Locked Moved Unsolved Brainstorm
qt5.7.0
32 Posts 8 Posters 15.7k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • mrjjM mrjj

    @Ahti
    Well you own app can allow sending email, however you like.
    BUT the server you are using for sending the emails demands login.
    So your app must login it self for it to send any emails.
    Due to spam, there are very few mail servers that allows sending email
    anonymously these days.

    AhtiA Offline
    AhtiA Offline
    Ahti
    wrote on last edited by
    #6

    @mrjj

    what do you mean by my app should login first ? does that mean i should first login my email account ?

    what is a signature ?? Lol

    mrjjM 1 Reply Last reply
    0
    • AhtiA Ahti

      @mrjj

      what do you mean by my app should login first ? does that mean i should first login my email account ?

      mrjjM Offline
      mrjjM Offline
      mrjj
      Lifetime Qt Champion
      wrote on last edited by
      #7

      @Ahti
      To be allowed to send emails via google server you need to be
      authenticated. So yes, your app must "log in" to the google account you
      are sending over.

      AhtiA 1 Reply Last reply
      2
      • mrjjM mrjj

        @Ahti
        To be allowed to send emails via google server you need to be
        authenticated. So yes, your app must "log in" to the google account you
        are sending over.

        AhtiA Offline
        AhtiA Offline
        Ahti
        wrote on last edited by Ahti
        #8

        @mrjj

        I don't understand this why i have to login my account ? the user who is using my app sends the email to my email address now if i login my account to the users machine there is no point of it.

        what is a signature ?? Lol

        1 Reply Last reply
        0
        • p3c0P Offline
          p3c0P Offline
          p3c0
          Moderators
          wrote on last edited by
          #9

          @Ahti @mrjj probably meant to say that you will need an email service so that users can send an email. And this email service will provide an email gateway. To use this gateway you will need an authentication.

          157

          AhtiA 1 Reply Last reply
          4
          • p3c0P p3c0

            @Ahti @mrjj probably meant to say that you will need an email service so that users can send an email. And this email service will provide an email gateway. To use this gateway you will need an authentication.

            AhtiA Offline
            AhtiA Offline
            Ahti
            wrote on last edited by
            #10

            @p3c0

            and how can i aquire all this ?

            what is a signature ?? Lol

            1 Reply Last reply
            0
            • p3c0P Offline
              p3c0P Offline
              p3c0
              Moderators
              wrote on last edited by
              #11

              Have you registered to any email service ?

              157

              AhtiA 1 Reply Last reply
              1
              • p3c0P p3c0

                Have you registered to any email service ?

                AhtiA Offline
                AhtiA Offline
                Ahti
                wrote on last edited by
                #12

                @p3c0

                I have an account in gmail and yahoo

                what is a signature ?? Lol

                1 Reply Last reply
                0
                • VRoninV Offline
                  VRoninV Offline
                  VRonin
                  wrote on last edited by
                  #13

                  When there is a library that is considered standard I tend to suggest it over some 1-man-wrapper. Not because the latter is bad but it's so much easier to find docs/examples/support when a library is very popular.

                  This leads me to libcurl (there are some relatively active C++ bindings like https://github.com/JosephP91/curlcpp but the core C api should be more than enough for what you are trying to do)

                  Here you can find an example of sending an email using gmail

                  "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
                  ~Napoleon Bonaparte

                  On a crusade to banish setIndexWidget() from the holy land of Qt

                  AhtiA 2 Replies Last reply
                  2
                  • VRoninV VRonin

                    When there is a library that is considered standard I tend to suggest it over some 1-man-wrapper. Not because the latter is bad but it's so much easier to find docs/examples/support when a library is very popular.

                    This leads me to libcurl (there are some relatively active C++ bindings like https://github.com/JosephP91/curlcpp but the core C api should be more than enough for what you are trying to do)

                    Here you can find an example of sending an email using gmail

                    AhtiA Offline
                    AhtiA Offline
                    Ahti
                    wrote on last edited by
                    #14

                    @VRonin

                    Well that is difficult to understand and i don't know how to implement it.

                    what is a signature ?? Lol

                    jsulmJ 1 Reply Last reply
                    0
                    • VRoninV VRonin

                      When there is a library that is considered standard I tend to suggest it over some 1-man-wrapper. Not because the latter is bad but it's so much easier to find docs/examples/support when a library is very popular.

                      This leads me to libcurl (there are some relatively active C++ bindings like https://github.com/JosephP91/curlcpp but the core C api should be more than enough for what you are trying to do)

                      Here you can find an example of sending an email using gmail

                      AhtiA Offline
                      AhtiA Offline
                      Ahti
                      wrote on last edited by Ahti
                      #15

                      @VRonin @p3c0 @mrjj

                      Okay guys tell me how can i simply let user to login to his/her email from my app and then let them send email to me ?? I have to get connected to the email server before i let them sign in right ?

                      what is a signature ?? Lol

                      VRoninV 1 Reply Last reply
                      0
                      • p3c0P Offline
                        p3c0P Offline
                        p3c0
                        Moderators
                        wrote on last edited by
                        #16

                        @Ahti Your users will use their email address only to login to you forum.
                        Now that you have email service and a registered user to use that service, your users will use this email user to send email to you.
                        You should probably maintain multiple users in case if you have a large userbase.

                        157

                        1 Reply Last reply
                        0
                        • AhtiA Ahti

                          @VRonin @p3c0 @mrjj

                          Okay guys tell me how can i simply let user to login to his/her email from my app and then let them send email to me ?? I have to get connected to the email server before i let them sign in right ?

                          VRoninV Offline
                          VRoninV Offline
                          VRonin
                          wrote on last edited by
                          #17

                          @Ahti said in How can the user send email to me from my app ?:

                          Okay guys tell me how can i simply let user to login to his/her email from my app and then let them send email to me ?

                          This is even harder as you should know their mail server and sometimes you cannot really access it (for example if they use a private MS exchange server)

                          I put here another example with libcurl: https://curl.haxx.se/libcurl/c/smtp-mail.html

                          If you think it's not for you then the easy route is using QDesktopServices::openUrl("mailto:youremail@address.com");

                          "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
                          ~Napoleon Bonaparte

                          On a crusade to banish setIndexWidget() from the holy land of Qt

                          1 Reply Last reply
                          7
                          • AhtiA Ahti

                            @VRonin

                            Well that is difficult to understand and i don't know how to implement it.

                            jsulmJ Offline
                            jsulmJ Offline
                            jsulm
                            Lifetime Qt Champion
                            wrote on last edited by
                            #18

                            @Ahti Why not just let the user use their preferred EMail client to send an EMail to you? See http://stackoverflow.com/questions/28674805/open-default-mail-app-from-within-qt-with-some-html
                            It is much easier and the user can use his/her EMail client.
                            You still can have a form in your app (I guess you meant form not forum?), but then you pass that data via a mailto: URL to the system, which then opens the standard EMail client and fill the data user entered in your form.

                            https://forum.qt.io/topic/113070/qt-code-of-conduct

                            AhtiA 1 Reply Last reply
                            1
                            • jsulmJ jsulm

                              @Ahti Why not just let the user use their preferred EMail client to send an EMail to you? See http://stackoverflow.com/questions/28674805/open-default-mail-app-from-within-qt-with-some-html
                              It is much easier and the user can use his/her EMail client.
                              You still can have a form in your app (I guess you meant form not forum?), but then you pass that data via a mailto: URL to the system, which then opens the standard EMail client and fill the data user entered in your form.

                              AhtiA Offline
                              AhtiA Offline
                              Ahti
                              wrote on last edited by
                              #19

                              @jsulm
                              Okay why would he has to login from the broswer and then use my app to send email to me ? Can't he simply login to his email account from my app and send mail to me from my app ? And yes i meant form not forum sorry for the mistake. And i used that "QDesktopService..." And it opens up MS outlook.

                              what is a signature ?? Lol

                              jsulmJ 1 Reply Last reply
                              0
                              • mrjjM Offline
                                mrjjM Offline
                                mrjj
                                Lifetime Qt Champion
                                wrote on last edited by mrjj
                                #20

                                Ok. listen. we need to talk about sending emails.

                                A program cannot just send email. It need the help of
                                a mail server. That is another PC that has a post office program.
                                Like GMAIL is. its a mail service.

                                So for your program to send mails, you need to send via such server.

                                That can happen

                                1: You pop outlook via QDesktopService and the mail is sent over whatever server outlook is using.

                                2: You send via a google account that your program knows username and password for.
                                So before sending email via GOOGLE you will login to this account inside the program.
                                This is part of the SMTP protocol.

                                3: You use some online mail service where you can send email via some API.

                                You could also ask user to login to his mail service but I would never give my password to any unknown program so it's not a good solution and also teaches the users to do stupid things.

                                So the part you need to understand is that Sending email demands that the MAIL server knows who u are. So the programs need to supply username and password to the MAil server
                                to be allowed to send anything.

                                AhtiA 2 Replies Last reply
                                4
                                • AhtiA Ahti

                                  @jsulm
                                  Okay why would he has to login from the broswer and then use my app to send email to me ? Can't he simply login to his email account from my app and send mail to me from my app ? And yes i meant form not forum sorry for the mistake. And i used that "QDesktopService..." And it opens up MS outlook.

                                  jsulmJ Offline
                                  jsulmJ Offline
                                  jsulm
                                  Lifetime Qt Champion
                                  wrote on last edited by
                                  #21

                                  @Ahti To be sure: when you say "my app" you mean a desktop app? If so then there is no need to log-in from a browser, why do you think so? The user opens that dialog/form in your app, enters needed data (subject, message body) and presses the "Send" button. Then his/her default EMail client is opened where he/she send the EMail from there.

                                  https://forum.qt.io/topic/113070/qt-code-of-conduct

                                  AhtiA 1 Reply Last reply
                                  2
                                  • jsulmJ jsulm

                                    @Ahti To be sure: when you say "my app" you mean a desktop app? If so then there is no need to log-in from a browser, why do you think so? The user opens that dialog/form in your app, enters needed data (subject, message body) and presses the "Send" button. Then his/her default EMail client is opened where he/she send the EMail from there.

                                    AhtiA Offline
                                    AhtiA Offline
                                    Ahti
                                    wrote on last edited by Ahti
                                    #22

                                    @jsulm yes from my desktop app how can i connect to user's email so that he can send email.

                                    what is a signature ?? Lol

                                    jsulmJ 1 Reply Last reply
                                    0
                                    • mrjjM mrjj

                                      Ok. listen. we need to talk about sending emails.

                                      A program cannot just send email. It need the help of
                                      a mail server. That is another PC that has a post office program.
                                      Like GMAIL is. its a mail service.

                                      So for your program to send mails, you need to send via such server.

                                      That can happen

                                      1: You pop outlook via QDesktopService and the mail is sent over whatever server outlook is using.

                                      2: You send via a google account that your program knows username and password for.
                                      So before sending email via GOOGLE you will login to this account inside the program.
                                      This is part of the SMTP protocol.

                                      3: You use some online mail service where you can send email via some API.

                                      You could also ask user to login to his mail service but I would never give my password to any unknown program so it's not a good solution and also teaches the users to do stupid things.

                                      So the part you need to understand is that Sending email demands that the MAIL server knows who u are. So the programs need to supply username and password to the MAil server
                                      to be allowed to send anything.

                                      AhtiA Offline
                                      AhtiA Offline
                                      Ahti
                                      wrote on last edited by
                                      #23

                                      @mrjj yeah that is what i want, user should login to his mail account from my desktop app and then should sent mail from my desktop app.

                                      what is a signature ?? Lol

                                      1 Reply Last reply
                                      1
                                      • AhtiA Ahti

                                        @jsulm yes from my desktop app how can i connect to user's email so that he can send email.

                                        jsulmJ Offline
                                        jsulmJ Offline
                                        jsulm
                                        Lifetime Qt Champion
                                        wrote on last edited by
                                        #24

                                        @Ahti If you want that the user logs in from your app then the user must enter his EMail account data (server address/port, user name, password). That's why I suggested to not to do it this way but just start users EMail client (Outlook, Thunderbird, what ever). This is much easier and the user can use his/her EMail client.
                                        @mrjj already explained what needs to be done, so it is really not an easy task and overkill in my opinion.

                                        https://forum.qt.io/topic/113070/qt-code-of-conduct

                                        1 Reply Last reply
                                        2
                                        • P Offline
                                          P Offline
                                          peteritv
                                          wrote on last edited by
                                          #25

                                          Again, maybe I am completely out of line here since I am just a Qt beginner myself, but ur talking about browsers, right?
                                          So you have some webserver that serves ur app, right?

                                          If ur server is not able to handle SMTP (mail) then I think we're done talking.

                                          Look at ur server! Not the app itself...

                                          P 1 Reply Last reply
                                          0

                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Search
                                          • Get Qt Extensions
                                          • Unsolved