C ++ SMTP, который позволяет вложения файлов - PullRequest
0 голосов
/ 25 февраля 2011

Я пытаюсь создать SMTP, который допускает вложение файлов, однако мне трудно найти учебник.Я нашел одну близкую вещь, которая https://stackoverflow.com/questions/58210/c-smtp-example, однако, это не удается скомпилировать в VS2005 / 2010 из-за используемых включаемых файлов.

Я хотел бы свернуть свой, а неадаптироваться к какой-то библиотеке, такой как Curl или Boost.У кого-нибудь есть какие-либо предложения о том, как это сделать, или небольшой пример кода с хорошей документацией, который будет компилироваться в Visual Studio?

Ответы [ 2 ]

1 голос
/ 25 февраля 2011

Использование моего ответа на предыдущий вопрос с использованием классов Microsoft ATL, включенных в платные версии Visual Studio.

CSMTPConnection smtp;
if (!smtp.Connect(m_strEmailServer)) 
    return false; 
// start generating the email message; remember to call CoInitialize somewhere in the app before this 
CMimeMessage msg; 
msg.SetSubject(m_strSubject); 
msg.SetSender(m_strSender); 
// repeat the following as necessary 
msg.AddRecipient(strSingleRecipient); 
msg.AddText(m_strBody); 

// add an attachment
msg.AttachFile(m_strAttachmentPath, m_strAttachmentName, _T("application/octet-stream"));

if (!smtp.SendMessage(msg)) 
    return false; 
return true; 

Тип MIME, предоставленный в AttachFileЗвонок будет зависеть от типа вложения.

0 голосов
/ 25 февраля 2011

Есть несколько способов сделать вложения. Вы можете использовать UUEncoded или MIME форматирование. UUEncoded намного проще, если вы хотите свернуть свой собственный.

...