Page 1 of 1

Sending email via GMail & curl

Posted: Wed Feb 10, 2016 3:44 pm
by eranif
Hi,

For a small project I am working on, I needed the ability to send emails using Gmail from a wxWidgets application.
I ended up doing this with curl (requires curl built with SSL support)

The current code compiles and runs on Linux and Windows (64 bit MinGW compiler only)

Using this code, sending an email is done like this:

Code: Select all

// Construct the mailer
wxMailer mailer("[email protected]", "mypassword", "smtp://smtp.gmail.com:587");

// Construct the message
wxEmailMessage message;
message.SetFrom("Eran Ifrah")
    .SetTo("[email protected]")
    .SetMessage("Hello There!")
    .SetSubject("My Email Subject");

// Must finalize the message before sending it
message.Finalize();

// And send it
if(mailer.Send(message)) {
    ::wxMessageBox("Message Sent Succesfully!");
}
I have uploaded all the files and created a README on GitHub:
https://github.com/eranif/wxEmail

Eran

Re: Sending email via GMail & curl

Posted: Thu Feb 11, 2016 8:49 pm
by evstevemd
Hi,
thanks for making it Open source.
eranif wrote: The current code compiles and runs on Linux and Windows (64 bit MinGW compiler only)
Any reason for this? Is it because you are using compile version of libcurl? I have a project that uses libcurl+openssl
If this is he limitation, I can upload the libraries (compiled with TDM 5.1 32 bit)

Re: Sending email via GMail & curl

Posted: Sat Feb 13, 2016 11:07 pm
by T-Rex
Hi.

Eran, does this support the attachments? I briefly reviewed the code and can't see this logic. The last time when we have implemented the SMTP functionality with wxWidgets app we used this library and it was pretty functional (but the downside is that it is MFC-based and works only for Windows). If you decide to implement the functionality with attachments, this could be a good starting point ;)

And yes, many thanks for sharing your code!

Re: Sending email via GMail & curl

Posted: Sun Feb 14, 2016 1:41 pm
by eranif
I did not have any need to add attachment (which I will most certainly will in the future)
so I am guessing that I will be adding this soon.

About the version restriction: its there because otherwise you will need to compile your own version of curl+openssl, nothing more

Eran

Re: Sending email via GMail & curl

Posted: Sun Feb 14, 2016 2:27 pm
by evstevemd
eranif wrote: About the version restriction: its there because otherwise you will need to compile your own version of curl+openssl, nothing more
Eran
Here are 32 Bit libraries attached.

Re: Sending email via GMail & curl

Posted: Sun Feb 14, 2016 4:47 pm
by eranif
Here are 32 Bit libraries attached.
Thanks.

UPDATE:
I added support for sending an attachment (the GUI sample client was updated)
In your code, you just need to add:

Code: Select all

message.SetAttachment(...);
I will probably will update the API to support multiple attachments (currently it supports only one)

Eran

Re: Sending email via GMail & curl

Posted: Fri Jul 08, 2016 9:07 pm
by marcelinux
Thank you very much.
I built and run fine in debian but cannot build in Win7-64.
I have this error
thread.h:479:12: error: declaration does not declare anything [-fpermissive]
wx 3.1 + Codelite 9.1.8 + TDM-GCC-64
Here part of build log. Error in bold characters:

Code: Select all

C:\Windows\system32\cmd.exe /C C:/TDM-GCC-64/bin/mingw32-make.exe -j2 SHELL=cmd.exe -e -f  Makefile
"----------Building project:[ SendEmailGUI - Release_Windows ]----------"
mingw32-make.exe[1]: Entering directory 'C:/dev/wx/wxEmail-master/SendEmailGUI'
C:/TDM-GCC-64/bin/windres.exe -i "C:/dev/wx/wxEmail-master/SendEmailGUI/win_resources.rc" --use-temp-file --define __WXMSW__ --define _UNICODE --include-dir C:/wxWidgets310/lib/gcc_lib/mswu --include-dir C:/wxWidgets310/include    -o ./Release/win_resources.rc.o
C:/TDM-GCC-64/bin/g++.exe  -c  "C:/dev/wx/wxEmail-master/SendEmailGUI/main.cpp" -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets310/lib/gcc_lib/mswu -IC:/wxWidgets310/include -Wno-ctor-dtor-privacy -pipe -fmessage-length=0  -fno-keep-inline-dllexport -std=c++11   -o ./Release/main.cpp.o -I. -IC:\dev\curl-7.40.0-devel-mingw64/include
C:/TDM-GCC-64/bin/windres.exe: warning: 24: 1: 1033: duplicate value
C:/TDM-GCC-64/bin/g++.exe  -c  "C:/dev/wx/wxEmail-master/SendEmailGUI/MainFrame.cpp" -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets310/lib/gcc_lib/mswu -IC:/wxWidgets310/include -Wno-ctor-dtor-privacy -pipe -fmessage-length=0  -fno-keep-inline-dllexport -std=c++11   -o ./Release/MainFrame.cpp.o -I. -IC:\dev\curl-7.40.0-devel-mingw64/include
C:/dev/wx/wxEmail-master/SendEmailGUI/MainFrame.cpp:66:1: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
 }
 
 ...
 ...
 
C:/TDM-GCC-64/bin/g++.exe  -c  "C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.cpp" -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets310/lib/gcc_lib/mswu -IC:/wxWidgets310/include -Wno-ctor-dtor-privacy -pipe -fmessage-length=0  -fno-keep-inline-dllexport -std=c++11   -o ./Release/wxcrafter.cpp.o -I. -IC:\dev\curl-7.40.0-devel-mingw64/include
C:/TDM-GCC-64/bin/g++.exe  -c  "C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter_bitmaps.cpp" -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets310/lib/gcc_lib/mswu -IC:/wxWidgets310/include -Wno-ctor-dtor-privacy -pipe -fmessage-length=0  -fno-keep-inline-dllexport -std=c++11   -o ./Release/wxcrafter_bitmaps.cpp.o -I. -IC:\dev\curl-7.40.0-devel-mingw64/include
C:/TDM-GCC-64/bin/g++.exe  -c  "C:/dev/wx/wxEmail-master/SendEmailGUI/wxMailer.cpp" -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets310/lib/gcc_lib/mswu -IC:/wxWidgets310/include -Wno-ctor-dtor-privacy -pipe -fmessage-length=0  -fno-keep-inline-dllexport -std=c++11   -o ./Release/wxMailer.cpp.o -I. -IC:\dev\curl-7.40.0-devel-mingw64/include
C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.cpp:291:1: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
 }
 ^
In file included from C:/wxWidgets310/include/wx/xrc/xmlreshandler.h:22:0,
                 from C:/wxWidgets310/include/wx/xrc/xmlres.h:30,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.h:11,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.cpp:7:
C:/wxWidgets310/include/wx/window.h:1917:13: note: declared here
 inline void wxWindowBase::SetInitialBestSize(const wxSize& size)
             ^
C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.cpp:291:1: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
 }
 
 ...
 ...
 
In file included from C:/wxWidgets310/include/wx/event.h:26:0,
                 from C:/wxWidgets310/include/wx/window.h:18,
                 from C:/wxWidgets310/include/wx/nonownedwnd.h:14,
                 from C:/wxWidgets310/include/wx/toplevel.h:20,
                 from C:/wxWidgets310/include/wx/dialog.h:14,
                 from C:/wxWidgets310/include/wx/msgdlg.h:18,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxMailer.cpp:3:
C:/wxWidgets310/include/wx/thread.h:479:12: error: declaration does not declare anything [-fpermissive]
     static void Yield();
            ^
 
 ...
 ...
 
mingw32-make.exe: *** [All] Error 2
mingw32-make.exe[1]: Leaving directory 'C:/dev/wx/wxEmail-master/SendEmailGUI'
Makefile:4: recipe for target 'All' failed
====2 errors, 105 warnings, total time: 00:00:12 seconds====
Can you help me, please?

Re: Sending email via GMail & curl

Posted: Sat Jul 09, 2016 9:13 am
by evstevemd
marcelinux wrote:Thank you very much.
I built and run fine in debian but cannot build in Win7-64.
I have this error
thread.h:479:12: error: declaration does not declare anything [-fpermissive]
wx 3.1 + Codelite 9.1.8 + TDM-GCC-64
Here part of build log. Error in bold characters:

Code: Select all

C:\Windows\system32\cmd.exe /C C:/TDM-GCC-64/bin/mingw32-make.exe -j2 SHELL=cmd.exe -e -f  Makefile
"----------Building project:[ SendEmailGUI - Release_Windows ]----------"  

 ...
 ...
 
In file included from C:/wxWidgets310/include/wx/event.h:26:0,
                 from C:/wxWidgets310/include/wx/window.h:18,
                 from C:/wxWidgets310/include/wx/nonownedwnd.h:14,
                 from C:/wxWidgets310/include/wx/toplevel.h:20,
                 from C:/wxWidgets310/include/wx/dialog.h:14,
                 from C:/wxWidgets310/include/wx/msgdlg.h:18,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxMailer.cpp:3:
C:/wxWidgets310/include/wx/thread.h:479:12: error: declaration does not declare anything [-fpermissive]
     static void Yield();
            ^
 
 ...
 ...
 
mingw32-make.exe: *** [All] Error 2
mingw32-make.exe[1]: Leaving directory 'C:/dev/wx/wxEmail-master/SendEmailGUI'
Makefile:4: recipe for target 'All' failed
====2 errors, 105 warnings, total time: 00:00:12 seconds====
Can you help me, please?
Are you sure this is the full log? There is a missing file where the error is coming from

Re: Sending email via GMail & curl

Posted: Mon Jul 11, 2016 8:47 pm
by marcelinux
evstevemd wrote:Are you sure this is the full log? There is a missing file where the error is coming from
You are rigth. This is not the full log. It is part of it.
Here my full log, but I don't now what declaration does not declare anything mean.
Issue is in wxcrafter.cpp build.

Code: Select all

C:\Windows\system32\cmd.exe /C C:/TDM-GCC-64/bin/mingw32-make.exe -j2 SHELL=cmd.exe -e -f  Makefile
"----------Building project:[ SendEmailGUI - Release_Windows ]----------"
mingw32-make.exe[1]: Entering directory 'C:/dev/wx/wxEmail-master/SendEmailGUI'
C:/TDM-GCC-64/bin/windres.exe -i "C:/dev/wx/wxEmail-master/SendEmailGUI/win_resources.rc" --use-temp-file --define __WXMSW__ --define _UNICODE --include-dir C:/wxWidgets310/lib/gcc_lib/mswu --include-dir C:/wxWidgets310/include    -o ./Release/win_resources.rc.o
C:/TDM-GCC-64/bin/g++.exe  -c  "C:/dev/wx/wxEmail-master/SendEmailGUI/main.cpp" -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets310/lib/gcc_lib/mswu -IC:/wxWidgets310/include -Wno-ctor-dtor-privacy -pipe -fmessage-length=0  -fno-keep-inline-dllexport -std=c++11   -o ./Release/main.cpp.o -I. -IC:\dev\curl-7.40.0-devel-mingw64/include
C:/TDM-GCC-64/bin/windres.exe: warning: 24: 1: 1033: duplicate value
C:/TDM-GCC-64/bin/g++.exe  -c  "C:/dev/wx/wxEmail-master/SendEmailGUI/MainFrame.cpp" -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets310/lib/gcc_lib/mswu -IC:/wxWidgets310/include -Wno-ctor-dtor-privacy -pipe -fmessage-length=0  -fno-keep-inline-dllexport -std=c++11   -o ./Release/MainFrame.cpp.o -I. -IC:\dev\curl-7.40.0-devel-mingw64/include
C:/dev/wx/wxEmail-master/SendEmailGUI/MainFrame.cpp:66:1: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
 }
 ^
In file included from C:/wxWidgets310/include/wx/xrc/xmlreshandler.h:22:0,
                 from C:/wxWidgets310/include/wx/xrc/xmlres.h:30,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.h:11,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/MainFrame.h:3,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/MainFrame.cpp:1:
C:/wxWidgets310/include/wx/window.h:1917:13: note: declared here
 inline void wxWindowBase::SetInitialBestSize(const wxSize& size)
             ^
C:/dev/wx/wxEmail-master/SendEmailGUI/MainFrame.cpp:66:1: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
 }
 ^
In file included from C:/wxWidgets310/include/wx/xrc/xmlreshandler.h:22:0,
                 from C:/wxWidgets310/include/wx/xrc/xmlres.h:30,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.h:11,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/MainFrame.h:3,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/MainFrame.cpp:1:
C:/wxWidgets310/include/wx/window.h:1917:13: note: declared here
 inline void wxWindowBase::SetInitialBestSize(const wxSize& size)
             ^
C:/dev/wx/wxEmail-master/SendEmailGUI/MainFrame.cpp:66:1: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
 }
 ^
In file included from C:/wxWidgets310/include/wx/xrc/xmlreshandler.h:22:0,
                 from C:/wxWidgets310/include/wx/xrc/xmlres.h:30,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.h:11,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/MainFrame.h:3,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/MainFrame.cpp:1:
C:/wxWidgets310/include/wx/window.h:1917:13: note: declared here
 inline void wxWindowBase::SetInitialBestSize(const wxSize& size)
             ^
In file included from C:/dev/wx/wxEmail-master/SendEmailGUI/main.cpp:1:0:
C:/wxWidgets310/include/wx/app.h:896:69: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
 #define IMPLEMENT_APP(app)                      wxIMPLEMENT_APP(app);
                                                                     ^
C:/dev/wx/wxEmail-master/SendEmailGUI/main.cpp:25:1: note: in expansion of macro 'IMPLEMENT_APP'
 IMPLEMENT_APP(MainApp)
 ^
C:/dev/wx/wxEmail-master/SendEmailGUI/MainFrame.cpp:66:1: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
 }
 ^
In file included from C:/wxWidgets310/include/wx/xrc/xmlreshandler.h:22:0,
                 from C:/wxWidgets310/include/wx/xrc/xmlres.h:30,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.h:11,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/MainFrame.h:3,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/MainFrame.cpp:1:
C:/wxWidgets310/include/wx/window.h:1917:13: note: declared here
 inline void wxWindowBase::SetInitialBestSize(const wxSize& size)
             ^
C:/dev/wx/wxEmail-master/SendEmailGUI/MainFrame.cpp:66:1: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
 }
 ^
In file included from C:/wxWidgets310/include/wx/xrc/xmlreshandler.h:22:0,
                 from C:/wxWidgets310/include/wx/xrc/xmlres.h:30,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.h:11,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/MainFrame.h:3,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/MainFrame.cpp:1:
C:/wxWidgets310/include/wx/window.h:1917:13: note: declared here
 inline void wxWindowBase::SetInitialBestSize(const wxSize& size)
             ^
C:/dev/wx/wxEmail-master/SendEmailGUI/MainFrame.cpp:66:1: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
 }
 ^
In file included from C:/wxWidgets310/include/wx/xrc/xmlreshandler.h:22:0,
                 from C:/wxWidgets310/include/wx/xrc/xmlres.h:30,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.h:11,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/MainFrame.h:3,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/MainFrame.cpp:1:
C:/wxWidgets310/include/wx/window.h:1917:13: note: declared here
 inline void wxWindowBase::SetInitialBestSize(const wxSize& size)
             ^
C:/dev/wx/wxEmail-master/SendEmailGUI/MainFrame.cpp:66:1: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
 }
 ^
In file included from C:/wxWidgets310/include/wx/xrc/xmlreshandler.h:22:0,
                 from C:/wxWidgets310/include/wx/xrc/xmlres.h:30,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.h:11,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/MainFrame.h:3,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/MainFrame.cpp:1:
C:/wxWidgets310/include/wx/window.h:1917:13: note: declared here
 inline void wxWindowBase::SetInitialBestSize(const wxSize& size)
             ^
C:/dev/wx/wxEmail-master/SendEmailGUI/MainFrame.cpp:66:1: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
 }
 ^
In file included from C:/wxWidgets310/include/wx/xrc/xmlreshandler.h:22:0,
                 from C:/wxWidgets310/include/wx/xrc/xmlres.h:30,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.h:11,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/MainFrame.h:3,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/MainFrame.cpp:1:
C:/wxWidgets310/include/wx/window.h:1917:13: note: declared here
 inline void wxWindowBase::SetInitialBestSize(const wxSize& size)
             ^
C:/dev/wx/wxEmail-master/SendEmailGUI/MainFrame.cpp:66:1: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
 }
 ^
In file included from C:/wxWidgets310/include/wx/xrc/xmlreshandler.h:22:0,
                 from C:/wxWidgets310/include/wx/xrc/xmlres.h:30,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.h:11,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/MainFrame.h:3,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/MainFrame.cpp:1:
C:/wxWidgets310/include/wx/window.h:1917:13: note: declared here
 inline void wxWindowBase::SetInitialBestSize(const wxSize& size)
             ^
In file included from C:/wxWidgets310/include/wx/xrc/xmlreshandler.h:22:0,
                 from C:/wxWidgets310/include/wx/xrc/xmlres.h:30,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.h:11,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/MainFrame.h:3,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/main.cpp:3:
C:/wxWidgets310/include/wx/window.h:1917:13: note: declared here
 inline void wxWindowBase::SetInitialBestSize(const wxSize& size)
             ^
In file included from C:/dev/wx/wxEmail-master/SendEmailGUI/main.cpp:1:0:
C:/wxWidgets310/include/wx/app.h:896:69: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
 #define IMPLEMENT_APP(app)                      wxIMPLEMENT_APP(app);
                                                                     ^
C:/dev/wx/wxEmail-master/SendEmailGUI/main.cpp:25:1: note: in expansion of macro 'IMPLEMENT_APP'
 IMPLEMENT_APP(MainApp)
 ^
In file included from C:/wxWidgets310/include/wx/xrc/xmlreshandler.h:22:0,
                 from C:/wxWidgets310/include/wx/xrc/xmlres.h:30,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.h:11,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/MainFrame.h:3,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/main.cpp:3:
C:/wxWidgets310/include/wx/window.h:1917:13: note: declared here
 inline void wxWindowBase::SetInitialBestSize(const wxSize& size)
             ^
In file included from C:/dev/wx/wxEmail-master/SendEmailGUI/main.cpp:1:0:
C:/wxWidgets310/include/wx/app.h:896:69: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
 #define IMPLEMENT_APP(app)                      wxIMPLEMENT_APP(app);
                                                                     ^
C:/dev/wx/wxEmail-master/SendEmailGUI/main.cpp:25:1: note: in expansion of macro 'IMPLEMENT_APP'
 IMPLEMENT_APP(MainApp)
 ^
In file included from C:/wxWidgets310/include/wx/xrc/xmlreshandler.h:22:0,
                 from C:/wxWidgets310/include/wx/xrc/xmlres.h:30,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.h:11,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/MainFrame.h:3,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/main.cpp:3:
C:/wxWidgets310/include/wx/window.h:1917:13: note: declared here
 inline void wxWindowBase::SetInitialBestSize(const wxSize& size)
             ^
In file included from C:/dev/wx/wxEmail-master/SendEmailGUI/main.cpp:1:0:
C:/wxWidgets310/include/wx/app.h:896:69: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
 #define IMPLEMENT_APP(app)                      wxIMPLEMENT_APP(app);
                                                                     ^
C:/dev/wx/wxEmail-master/SendEmailGUI/main.cpp:25:1: note: in expansion of macro 'IMPLEMENT_APP'
 IMPLEMENT_APP(MainApp)
 ^
In file included from C:/wxWidgets310/include/wx/xrc/xmlreshandler.h:22:0,
                 from C:/wxWidgets310/include/wx/xrc/xmlres.h:30,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.h:11,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/MainFrame.h:3,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/main.cpp:3:
C:/wxWidgets310/include/wx/window.h:1917:13: note: declared here
 inline void wxWindowBase::SetInitialBestSize(const wxSize& size)
             ^
In file included from C:/dev/wx/wxEmail-master/SendEmailGUI/main.cpp:1:0:
C:/wxWidgets310/include/wx/app.h:896:69: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
 #define IMPLEMENT_APP(app)                      wxIMPLEMENT_APP(app);
                                                                     ^
C:/dev/wx/wxEmail-master/SendEmailGUI/main.cpp:25:1: note: in expansion of macro 'IMPLEMENT_APP'
 IMPLEMENT_APP(MainApp)
 ^
In file included from C:/wxWidgets310/include/wx/xrc/xmlreshandler.h:22:0,
                 from C:/wxWidgets310/include/wx/xrc/xmlres.h:30,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.h:11,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/MainFrame.h:3,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/main.cpp:3:
C:/wxWidgets310/include/wx/window.h:1917:13: note: declared here
 inline void wxWindowBase::SetInitialBestSize(const wxSize& size)
             ^
In file included from C:/dev/wx/wxEmail-master/SendEmailGUI/main.cpp:1:0:
C:/wxWidgets310/include/wx/app.h:896:69: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
 #define IMPLEMENT_APP(app)                      wxIMPLEMENT_APP(app);
                                                                     ^
C:/dev/wx/wxEmail-master/SendEmailGUI/main.cpp:25:1: note: in expansion of macro 'IMPLEMENT_APP'
 IMPLEMENT_APP(MainApp)
 ^
In file included from C:/wxWidgets310/include/wx/xrc/xmlreshandler.h:22:0,
                 from C:/wxWidgets310/include/wx/xrc/xmlres.h:30,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.h:11,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/MainFrame.h:3,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/main.cpp:3:
C:/wxWidgets310/include/wx/window.h:1917:13: note: declared here
 inline void wxWindowBase::SetInitialBestSize(const wxSize& size)
             ^
In file included from C:/dev/wx/wxEmail-master/SendEmailGUI/main.cpp:1:0:
C:/wxWidgets310/include/wx/app.h:896:69: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
 #define IMPLEMENT_APP(app)                      wxIMPLEMENT_APP(app);
                                                                     ^
C:/dev/wx/wxEmail-master/SendEmailGUI/main.cpp:25:1: note: in expansion of macro 'IMPLEMENT_APP'
 IMPLEMENT_APP(MainApp)
 ^
In file included from C:/wxWidgets310/include/wx/xrc/xmlreshandler.h:22:0,
                 from C:/wxWidgets310/include/wx/xrc/xmlres.h:30,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.h:11,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/MainFrame.h:3,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/main.cpp:3:
C:/wxWidgets310/include/wx/window.h:1917:13: note: declared here
 inline void wxWindowBase::SetInitialBestSize(const wxSize& size)
             ^
C:/TDM-GCC-64/bin/g++.exe  -c  "C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.cpp" -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets310/lib/gcc_lib/mswu -IC:/wxWidgets310/include -Wno-ctor-dtor-privacy -pipe -fmessage-length=0  -fno-keep-inline-dllexport -std=c++11   -o ./Release/wxcrafter.cpp.o -I. -IC:\dev\curl-7.40.0-devel-mingw64/include
C:/TDM-GCC-64/bin/g++.exe  -c  "C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter_bitmaps.cpp" -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets310/lib/gcc_lib/mswu -IC:/wxWidgets310/include -Wno-ctor-dtor-privacy -pipe -fmessage-length=0  -fno-keep-inline-dllexport -std=c++11   -o ./Release/wxcrafter_bitmaps.cpp.o -I. -IC:\dev\curl-7.40.0-devel-mingw64/include
C:/TDM-GCC-64/bin/g++.exe  -c  "C:/dev/wx/wxEmail-master/SendEmailGUI/wxMailer.cpp" -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets310/lib/gcc_lib/mswu -IC:/wxWidgets310/include -Wno-ctor-dtor-privacy -pipe -fmessage-length=0  -fno-keep-inline-dllexport -std=c++11   -o ./Release/wxMailer.cpp.o -I. -IC:\dev\curl-7.40.0-devel-mingw64/include
C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.cpp:291:1: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
 }
 ^
In file included from C:/wxWidgets310/include/wx/xrc/xmlreshandler.h:22:0,
                 from C:/wxWidgets310/include/wx/xrc/xmlres.h:30,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.h:11,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.cpp:7:
C:/wxWidgets310/include/wx/window.h:1917:13: note: declared here
 inline void wxWindowBase::SetInitialBestSize(const wxSize& size)
             ^
C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.cpp:291:1: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
 }
 ^
In file included from C:/wxWidgets310/include/wx/xrc/xmlreshandler.h:22:0,
                 from C:/wxWidgets310/include/wx/xrc/xmlres.h:30,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.h:11,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.cpp:7:
C:/wxWidgets310/include/wx/window.h:1917:13: note: declared here
 inline void wxWindowBase::SetInitialBestSize(const wxSize& size)
             ^
C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.cpp:291:1: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
 }
 ^
In file included from C:/wxWidgets310/include/wx/xrc/xmlreshandler.h:22:0,
                 from C:/wxWidgets310/include/wx/xrc/xmlres.h:30,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.h:11,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.cpp:7:
C:/wxWidgets310/include/wx/window.h:1917:13: note: declared here
 inline void wxWindowBase::SetInitialBestSize(const wxSize& size)
             ^
C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.cpp:291:1: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
 }
 ^
In file included from C:/wxWidgets310/include/wx/xrc/xmlreshandler.h:22:0,
                 from C:/wxWidgets310/include/wx/xrc/xmlres.h:30,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.h:11,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.cpp:7:
C:/wxWidgets310/include/wx/window.h:1917:13: note: declared here
 inline void wxWindowBase::SetInitialBestSize(const wxSize& size)
             ^
C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.cpp:291:1: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
 }
 ^
In file included from C:/wxWidgets310/include/wx/xrc/xmlreshandler.h:22:0,
                 from C:/wxWidgets310/include/wx/xrc/xmlres.h:30,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.h:11,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.cpp:7:
C:/wxWidgets310/include/wx/window.h:1917:13: note: declared here
 inline void wxWindowBase::SetInitialBestSize(const wxSize& size)
             ^
C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.cpp:291:1: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
 }
 ^
In file included from C:/wxWidgets310/include/wx/xrc/xmlreshandler.h:22:0,
                 from C:/wxWidgets310/include/wx/xrc/xmlres.h:30,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.h:11,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.cpp:7:
C:/wxWidgets310/include/wx/window.h:1917:13: note: declared here
 inline void wxWindowBase::SetInitialBestSize(const wxSize& size)
             ^
C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.cpp:291:1: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
 }
 ^
In file included from C:/wxWidgets310/include/wx/xrc/xmlreshandler.h:22:0,
                 from C:/wxWidgets310/include/wx/xrc/xmlres.h:30,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.h:11,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.cpp:7:
C:/wxWidgets310/include/wx/window.h:1917:13: note: declared here
 inline void wxWindowBase::SetInitialBestSize(const wxSize& size)
             ^
C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.cpp:291:1: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
 }
 ^
In file included from C:/wxWidgets310/include/wx/xrc/xmlreshandler.h:22:0,
                 from C:/wxWidgets310/include/wx/xrc/xmlres.h:30,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.h:11,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxcrafter.cpp:7:
C:/wxWidgets310/include/wx/window.h:1917:13: note: declared here
 inline void wxWindowBase::SetInitialBestSize(const wxSize& size)
             ^
In file included from C:/wxWidgets310/include/wx/event.h:26:0,
                 from C:/wxWidgets310/include/wx/window.h:18,
                 from C:/wxWidgets310/include/wx/nonownedwnd.h:14,
                 from C:/wxWidgets310/include/wx/toplevel.h:20,
                 from C:/wxWidgets310/include/wx/dialog.h:14,
                 from C:/wxWidgets310/include/wx/msgdlg.h:18,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxMailer.cpp:3:
C:/wxWidgets310/include/wx/thread.h:479:12: error: declaration does not declare anything [-fpermissive]
     static void Yield();
            ^
C:/dev/wx/wxEmail-master/SendEmailGUI/wxMailer.cpp:68:1: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
 }
 ^
In file included from C:/wxWidgets310/include/wx/nonownedwnd.h:14:0,
                 from C:/wxWidgets310/include/wx/toplevel.h:20,
                 from C:/wxWidgets310/include/wx/dialog.h:14,
                 from C:/wxWidgets310/include/wx/msgdlg.h:18,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxMailer.cpp:3:
C:/wxWidgets310/include/wx/window.h:1917:13: note: declared here
 inline void wxWindowBase::SetInitialBestSize(const wxSize& size)
             ^
C:/dev/wx/wxEmail-master/SendEmailGUI/wxMailer.cpp:68:1: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
 }
 ^
In file included from C:/wxWidgets310/include/wx/nonownedwnd.h:14:0,
                 from C:/wxWidgets310/include/wx/toplevel.h:20,
                 from C:/wxWidgets310/include/wx/dialog.h:14,
                 from C:/wxWidgets310/include/wx/msgdlg.h:18,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxMailer.cpp:3:
C:/wxWidgets310/include/wx/window.h:1917:13: note: declared here
 inline void wxWindowBase::SetInitialBestSize(const wxSize& size)
             ^
C:/dev/wx/wxEmail-master/SendEmailGUI/wxMailer.cpp:68:1: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
 }
 ^
In file included from C:/wxWidgets310/include/wx/nonownedwnd.h:14:0,
                 from C:/wxWidgets310/include/wx/toplevel.h:20,
                 from C:/wxWidgets310/include/wx/dialog.h:14,
                 from C:/wxWidgets310/include/wx/msgdlg.h:18,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxMailer.cpp:3:
C:/wxWidgets310/include/wx/window.h:1917:13: note: declared here
 inline void wxWindowBase::SetInitialBestSize(const wxSize& size)
             ^
C:/TDM-GCC-64/bin/g++.exe  -c  "C:/dev/wx/wxEmail-master/SendEmailGUI/wxEmailMessage.cpp" -O2 -Wall -mthreads -DHAVE_W32API_H -D__WXMSW__ -DNDEBUG -D_UNICODE -IC:/wxWidgets310/lib/gcc_lib/mswu -IC:/wxWidgets310/include -Wno-ctor-dtor-privacy -pipe -fmessage-length=0  -fno-keep-inline-dllexport -std=c++11   -o ./Release/wxEmailMessage.cpp.o -I. -IC:\dev\curl-7.40.0-devel-mingw64/include
mingw32-make.exe[1]: *** [Release/wxMailer.cpp.o] Error 1
mingw32-make.exe[1]: *** Waiting for unfinished jobs....
SendEmailGUI.mk:135: recipe for target 'Release/wxMailer.cpp.o' failed
C:/dev/wx/wxEmail-master/SendEmailGUI/wxEmailMessage.cpp:120:1: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
 }
 ^
In file included from C:/wxWidgets310/include/wx/nonownedwnd.h:14:0,
                 from C:/wxWidgets310/include/wx/toplevel.h:20,
                 from C:/wxWidgets310/include/wx/dialog.h:14,
                 from C:/wxWidgets310/include/wx/msgdlg.h:18,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxEmailMessage.cpp:6:
C:/wxWidgets310/include/wx/window.h:1917:13: note: declared here
 inline void wxWindowBase::SetInitialBestSize(const wxSize& size)
             ^
C:/dev/wx/wxEmail-master/SendEmailGUI/wxEmailMessage.cpp:120:1: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
 }
 ^
In file included from C:/wxWidgets310/include/wx/nonownedwnd.h:14:0,
                 from C:/wxWidgets310/include/wx/toplevel.h:20,
                 from C:/wxWidgets310/include/wx/dialog.h:14,
                 from C:/wxWidgets310/include/wx/msgdlg.h:18,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxEmailMessage.cpp:6:
C:/wxWidgets310/include/wx/window.h:1917:13: note: declared here
 inline void wxWindowBase::SetInitialBestSize(const wxSize& size)
             ^
C:/dev/wx/wxEmail-master/SendEmailGUI/wxEmailMessage.cpp:120:1: warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]
 }
 ^
In file included from C:/wxWidgets310/include/wx/nonownedwnd.h:14:0,
                 from C:/wxWidgets310/include/wx/toplevel.h:20,
                 from C:/wxWidgets310/include/wx/dialog.h:14,
                 from C:/wxWidgets310/include/wx/msgdlg.h:18,
                 from C:/dev/wx/wxEmail-master/SendEmailGUI/wxEmailMessage.cpp:6:
C:/wxWidgets310/include/wx/window.h:1917:13: note: declared here
 inline void wxWindowBase::SetInitialBestSize(const wxSize& size)
             ^
mingw32-make.exe: *** [All] Error 2
mingw32-make.exe[1]: Leaving directory 'C:/dev/wx/wxEmail-master/SendEmailGUI'
Makefile:4: recipe for target 'All' failed
====2 errors, 105 warnings, total time: 00:00:12 seconds====
I've found this similar post with thread.h: viewtopic.php?t=33695#p141660
and http://stackoverflow.com/questions/2043 ... sive-error
and many other similar with 'near/far' declarations.

Re: Sending email via GMail & curl

Posted: Tue Jul 12, 2016 7:05 am
by evstevemd
I will pass through in evening if no one else answers.

Re: Sending email via GMail & curl

Posted: Wed Jul 13, 2016 8:01 am
by evstevemd
I cannot wrap my head around that error. My Suggestion is you ask at the mailing list where many experts lives
https://groups.google.com/forum/#!forum/wx-users

Re: Sending email via GMail & curl

Posted: Wed Jul 13, 2016 11:04 am
by marcelinux
evstevemd wrote:My Suggestion is you ask at the mailing list
thanks, I'll do

Re: Sending email via GMail & curl

Posted: Fri Jul 15, 2016 12:18 pm
by eranif
C:/wxWidgets310/include/wx/thread.h:479:12: error: declaration does not declare anything [-fpermissive]
static void Yield();
This error usually means wrong order of include files.
You should try and move the header file wx/app.h to be the first file included by your application.


Eran

Re: Sending email via GMail & curl

Posted: Fri Jul 15, 2016 12:41 pm
by marcelinux
eranif wrote:You should try and move the header file wx/app.h to be the first file included by your application.
Thanks for the reply.
I've donwloaded zip file from your github and compiled as is. I do not modified anything.
I'll try with git clone like i've done in debian.

Re: Sending email via GMail & curl

Posted: Fri Jul 15, 2016 2:48 pm
by doublemax
Can you build the wxWidgets samples using the same configuration? Somehow the error doesn't look like it's related to the email component.