⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 email.cpp

📁 很牛的GUI源码wxWidgets-2.8.0.zip 可在多种平台下运行.
💻 CPP
字号:
/////////////////////////////////////////////////////////////////////////////// Name:        email.h// Purpose:     wxEmail: portable email client class// Author:      Julian Smart// Modified by:// Created:     2001-08-21// RCS-ID:      $Id: email.cpp,v 1.6 2005/09/23 12:48:02 MR Exp $// Copyright:   (c) Julian Smart// Licence:     wxWindows licence/////////////////////////////////////////////////////////////////////////////// For compilers that support precompilation, includes "wx/wx.h".#include "wx/wxprec.h"#ifdef __BORLANDC__#pragma hdrstop#endif#ifndef WX_PRECOMP#include "wx/wx.h"#endif#include "wx/string.h"#include "wx/net/email.h"#ifdef __WXMSW__#include "wx/net/smapi.h"#endif#ifdef __UNIX__#include "wx/filefn.h"#include "wx/timer.h"#include "wx/wfstream.h"#include "stdlib.h"#include "unistd.h"#endif// Send a message.// Specify profile, or leave it to wxWidgets to find the current user name#ifdef __WXMSW__bool wxEmail::Send(wxMailMessage& message, const wxString& profileName, const wxString& WXUNUSED(sendMail)){    wxASSERT (message.m_to.GetCount() > 0) ;    wxString profile(profileName);    if (profile.IsEmpty())        profile = wxGetUserName();    wxMapiSession session;    if (!session.MapiInstalled())        return FALSE;    if (!session.Logon(profile))        return FALSE;    return session.Send(message);}#elif defined(__UNIX__)boolwxEmail::Send(wxMailMessage& message,              const wxString& profileName,              const wxString& sendMail){    wxASSERT_MSG( !message.m_to.IsEmpty(), _T("no recipients to send mail to") ) ;    // The 'from' field is optionally supplied by the app; it's not needed    // by MAPI, and on Unix, will be guessed if not supplied.    wxString from = message.m_from;    if ( from.empty() )    {        from = wxGetEmailAddress();    }    wxString msg;    msg << wxT("To: ");    const size_t rcptCount = message.m_to.GetCount();    for (size_t rcpt = 0; rcpt < rcptCount; rcpt++)    {        if ( rcpt )            msg << wxT(", ");        msg << message.m_to[rcpt];    }    msg << wxT("\nFrom: ") << from << wxT("\nSubject: ") << message.m_subject;    msg << wxT("\n\n") << message.m_body;    wxString filename;    filename.Printf(wxT("/tmp/msg-%ld-%ld-%ld.txt"), (long) getpid(), wxGetLocalTime(),        (long) rand());    {        wxFileOutputStream stream(filename);        if (stream.Ok())        {            stream.Write(msg, msg.Length());        }        else        {            return FALSE ;        }    }    // TODO search for a suitable sendmail if sendMail is empty    wxString sendmail(sendMail);    wxString cmd;    cmd << sendmail << wxT(" < ") << filename;    // TODO: check return code    wxSystem(cmd.c_str());    wxRemoveFile(filename);    return TRUE;}#else#error Send not yet implemented for this platform.#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -