Diffstat (limited to 'noncore/unsupported/mailit/emailhandler.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/unsupported/mailit/emailhandler.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/noncore/unsupported/mailit/emailhandler.cpp b/noncore/unsupported/mailit/emailhandler.cpp index 5b8bda1..06e978d 100644 --- a/noncore/unsupported/mailit/emailhandler.cpp +++ b/noncore/unsupported/mailit/emailhandler.cpp @@ -50,49 +50,51 @@ EmailHandler::EmailHandler() connect(smtpClient, SIGNAL(updateStatus(const QString &)), this, SIGNAL(updateSmtpStatus(const QString &)) ); connect(popClient, SIGNAL(errorOccurred(int, const QString &)), this, SIGNAL(popError(int, const QString &)) ); connect(popClient, SIGNAL(newMessage(const QString &, int, uint, bool)), this, SLOT(messageArrived(const QString &, int, uint, bool)) ); connect(popClient, SIGNAL(updateStatus(const QString &)), this, SIGNAL(updatePopStatus(const QString &)) ); connect(popClient, SIGNAL(mailTransfered(int)), this, SIGNAL(mailTransfered(int)) ); //relaying size information connect(popClient, SIGNAL(currentMailSize(int)), this, SIGNAL(currentMailSize(int)) ); connect(popClient, SIGNAL(downloadedSize(int)), this, SIGNAL(downloadedSize(int)) ); } void EmailHandler::sendMail(QList<Email> *mailList) { Email *currentMail; QString temp; - QString userName = mailAccount.name; + QString userName = QString::null; + // not supported by ALL SMTP servers in the MAIL From field + // userName = "\""+mailAccount.name+"\""; userName += " <" + mailAccount.emailAddress + ">"; for (currentMail = mailList->first(); currentMail != 0; currentMail = mailList->next()) { if (encodeMime(currentMail) == 0) { smtpClient->addMail(userName, currentMail->subject, currentMail->recipients, currentMail->rawMail); } else { //error temp = tr("Could not locate all files in \nmail with subject: ") + currentMail->subject; temp += tr("\nMail has NOT been sent"); QMessageBox::warning(qApp->activeWindow(), tr("Attachment error"), temp, tr("OK\n")); } } smtpClient->newConnection(mailAccount.smtpServer, 25); } void EmailHandler::setAccount(MailAccount account) { mailAccount = account; } @@ -421,52 +423,55 @@ int EmailHandler::parse64base(char *src, char *bufOut) { if (src[2] != '=') { bufOut[1] = (char) li[1] & (8+4+2+1); //mask out top 4 bits bufOut[1] <<= 4; z = li[2] >> 2; bufOut[1] = bufOut[1] | z; //second byte retrived processed++; if (src[3] != '=') { bufOut[2] = (char) li[2] & (2+1); //mask out top 6 bits bufOut[2] <<= 6; z = li[3]; bufOut[2] = bufOut[2] | z; //third byte retrieved processed++; } } return processed; } int EmailHandler::encodeMime(Email *mail) { QString fileName, fileType, contentType, newBody, boundary; Enclosure *ePtr; + QString userName; - QString userName = mailAccount.name; - if (userName.length()>0) //only embrace it if there is a user name - userName += " <" + mailAccount.emailAddress + ">"; + if ( ! mailAccount.name.isEmpty() ) { + userName = "\"" + mailAccount.name + "\" <" + mailAccount.emailAddress + ">"; + } else { + userName = "<" + mailAccount.emailAddress + ">"; + } //add standard headers newBody = "From: " + userName + "\r\nTo: "; for (QStringList::Iterator it = mail->recipients.begin(); it != mail->recipients.end(); ++it ) { newBody += *it + " "; } newBody += "\r\nCC: "; for (QStringList::Iterator it = mail->carbonCopies.begin(); it != mail->carbonCopies.end(); ++it ) { newBody += *it + " "; } newBody += "\r\nSubject: " + mail->subject + "\r\n"; if (mail->files.count() == 0) { //just a simple mail newBody += "\r\n" + mail->body; mail->rawMail = newBody; return 0; } //Build mime encoded mail boundary = "-----4345=next_bound=0495----"; |