Ejemplo n.º 1
0
bool CMailManager::SendMail(const char* pTitle, const char* pText)
{
	//·¢ËÍÓʼþ
	if(NULL == m_pMailAlert || 0 == m_pMailAlert->m_u4MailID)
	{
		OUR_DEBUG((LM_ERROR, "[CMailManager::SendMail]MailID not set.\n"));
		return false;
	}

	unsigned char * pMail = NULL;
	pMail = (unsigned char * )ACE_OS::calloc(1, 1);

	int nRet = 0;
	nRet = mailText(&pMail, 
		(const unsigned char *)m_pMailAlert->m_szFromMailAddr, 
		(const unsigned char *)m_pMailAlert->m_szToMailAddr, 
		(const unsigned char *)pTitle, 
		(const unsigned char *)pText);
	nRet = mailEnd(&pMail);

	ACE_HANDLE fd;

	nRet = connectSmtp(fd, (const unsigned char *)m_pMailAlert->m_szMailUrl, 
		m_pMailAlert->m_u4MailPort);
	if(nRet != 0)
	{
		OUR_DEBUG((LM_ERROR, "[CMailManager::SendMail]MailID connectSmtp error.\n"));
		free(pMail);
		return false;
	}

	nRet = authEmail(fd, 
		(const unsigned char *)m_pMailAlert->m_szFromMailAddr, 
		(const unsigned char *)m_pMailAlert->m_szMailPass);
	if(nRet != 0)
	{
		OUR_DEBUG((LM_ERROR, "[CLogFile::SendMail]MailID authEmail error.\n"));
		free(pMail);
		return false;
	}

	nRet = sendEmail(fd, (const unsigned char *)m_pMailAlert->m_szFromMailAddr, 
		(const unsigned char *)m_pMailAlert->m_szToMailAddr,
		(const unsigned char *)pMail, 
		(const int)strlen((const char *)pMail));
	if(nRet != 0)
	{
		OUR_DEBUG((LM_ERROR, "[CLogFile::SendMail]MailID sendEmail error.\n"));
		free(pMail);
		return false;
	}

	free(pMail);
	return true;
}
Ejemplo n.º 2
0
Archivo: smtp.c Proyecto: CodeEth/smtp
int main()
{
	int fd = 0, ret;
	unsigned char *mail = NULL;
	const unsigned char *filePath = "./test.jpg";
	const unsigned char *mailSubject = "for my love.";
	const unsigned char *mailBody = "I love you alice!!";

	const unsigned char *fromMailAddr= "*****@*****.**";
	const unsigned char *mailPasswd= "ecila";
	const unsigned char *toMailAddr= "*****@*****.**";
	const unsigned char *smtpUrl = "smtp.163.com";

	mail = calloc(1, 1);

	/* prepare mail data */
	ret = mailText(&mail, fromMailAddr, toMailAddr, mailSubject, mailBody);
	ret = mailAttachment(&mail, filePath);
	ret = mailEnd(&mail);
    
	SMTP_Print6("\r\n%s \r\n", mail);
    
    printf("\r\nprepare email OK ...\r\n");

	/* send to buddy */
	fd = connectSmtp(smtpUrl, SMTP_PORT);

	printf("connect OK ...\r\n");
	
	ret = authEmail(fd, fromMailAddr, mailPasswd);

	printf("auth OK ...\r\n");
	
	ret = sendEmail(fd, fromMailAddr, toMailAddr, mail, strlen(mail));

	printf("send OK ...\r\n");

	return 0;
}