امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
كمك براي ارسال ايميل ++‍‍‍C
نویسنده پیام
virusbk آفلاین
تازه وارد

ارسال‌ها: 4
موضوع‌ها: 1
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #1
Cool  كمك براي ارسال ايميل ++‍‍‍C
سلام به همه بچه هاي ايران ويج
كسي يه سوروس ساده واسه ارسال ايميل تو C++ نداره ؟
اگه قسمت اضافه كردن فايل هم داشته باشه كه عالي ميشه Atch File
۰۸-فروردین-۱۳۸۹, ۲۰:۱۴:۵۷
ارسال‌ها
پاسخ
dreamvbfox آفلاین
در حال پیشرفت
***

ارسال‌ها: 426
موضوع‌ها: 44
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 236
( 1251 تشکر در 361 ارسال )
ارسال: #2
RE: كمك براي ارسال ايميل ++‍‍‍C
سلام
بايد با پروتكل SMTP كار كني !!!Shy
يه نمونه سورس ضميمه كردم بگيرش !

يه نگاه هم به لينك زير بندازي بد نيست :
http://www.genusa.com/isapi/isapisrc.html

موفق باشيد


فایل‌(های) پیوست شده
.rar   sendmail.rar (اندازه: 14.36 KB / تعداد دفعات دریافت: 44)

Biggrin Use Google instead of asking stupid questions Biggrin

[/url]
CMC Automation System


آموزش زبان c++
[url=http://www.iranled.com/forum/thread-13923.html]

۰۸-فروردین-۱۳۸۹, ۲۳:۰۶:۴۵
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : lord_viper, اشک
virusbk آفلاین
تازه وارد

ارسال‌ها: 4
موضوع‌ها: 1
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #3
RE: كمك براي ارسال ايميل ++‍‍‍C
سلام مرسي
سورس يه كم پيچيده هست من يه سورس ساده مي خوام كه با استفاده از winsock.h يك ايميل ارسال كنم
حالا قسمت اضافه كردن فايل نباشه هم مهم نيست
ممنون
۰۹-فروردین-۱۳۸۹, ۰۲:۰۷:۵۶
ارسال‌ها
پاسخ
__Genius__ آفلاین
كاربر تک ستاره
*

ارسال‌ها: 34
موضوع‌ها: 5
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 47
( 105 تشکر در 32 ارسال )
ارسال: #4
RE: كمك براي ارسال ايميل ++‍‍‍C
کد:
// sendMail3.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"

#define WIN32_LEAN_AND_MEAN

#include <stdio.h>
#include <stdlib.h>
#include <fstream>
#include <iostream>
#include <windows.h>
#include <winsock2.h>

#pragma comment(lib, "ws2_32.lib")

// Insist on at least Winsock v1.1
const VERSION_MAJOR = 1;
const VERSION_MINOR = 1;

#define CRLF "\r\n"                 // carriage-return/line feed pair
using namespace std;
void ShowUsage(void)
{
  cout << "Usage: SENDMAIL mailserv to_addr from_addr messagefile" << endl
       << "Example: SENDMAIL smtp.myisp.com rcvr@elsewhere.com my_id@mydomain.com message.txt" << endl;

  exit(1);
}

// Basic error checking for send() and recv() functions
void Check(int iStatus, char *szFunction)
{
  if((iStatus != SOCKET_ERROR) && (iStatus))
    return;
  
  cerr << "Error during call to " << szFunction << ": " << iStatus << " - " << GetLastError() << endl;
}

int main(int argc, char *argv[])
{
  int         iProtocolPort        = 0;
  char        szSmtpServerName[64] = "";
  char        szToAddr[64]         = "";
  char        szFromAddr[64]       = "";
  char        szBuffer[4096]       = "";
  char        szLine[255]          = "";
  char        szMsgLine[255]       = "";
  SOCKET      hServer;
  WSADATA     WSData;
  LPHOSTENT   lpHostEntry;
  LPSERVENT   lpServEntry;
  SOCKADDR_IN SockAddr;

  // Check for four command-line args
  if(argc != 5)
    ShowUsage();

  // Load command-line args
  lstrcpy(szSmtpServerName, argv[1]);
  lstrcpy(szToAddr, argv[2]);
  lstrcpy(szFromAddr, argv[3]);

  // Create input stream for reading email message file
  ifstream MsgFile(argv[4]);

  // Attempt to intialize WinSock (1.1 or later)
  if(WSAStartup(MAKEWORD(VERSION_MAJOR, VERSION_MINOR), &WSData))
  {
    cout << "Cannot find Winsock v" << VERSION_MAJOR << "." << VERSION_MINOR << " or later!" << endl;

    return 1;
  }

  // Lookup email server's IP address.
  lpHostEntry = gethostbyname(szSmtpServerName);
  if(!lpHostEntry)
  {
    cout << "Cannot find SMTP mail server " << szSmtpServerName << endl;

    return 1;
  }

  // Create a TCP/IP socket, no specific protocol
  hServer = socket(PF_INET, SOCK_STREAM, 0);
  if(hServer == INVALID_SOCKET)
  {
    cout << "Cannot open mail server socket" << endl;
  
    return 1;
  }

  // Get the mail service port
  lpServEntry = getservbyname("mail", 0);

  // Use the SMTP default port if no other port is specified
  if(!lpServEntry)
    iProtocolPort = htons(IPPORT_SMTP);
  else
    iProtocolPort = lpServEntry->s_port;

  // Setup a Socket Address structure
  SockAddr.sin_family = AF_INET;
  SockAddr.sin_port   = iProtocolPort;
  SockAddr.sin_addr   = *((LPIN_ADDR)*lpHostEntry->h_addr_list);

  // Connect the Socket
  if(connect(hServer, (PSOCKADDR) &SockAddr, sizeof(SockAddr)))
  {
    cout << "Error connecting to Server socket" << endl;

    return 1;
  }

  // Receive initial response from SMTP server
  Check(recv(hServer, szBuffer, sizeof(szBuffer), 0), "recv() Reply");

  // Send HELO server.com
  sprintf(szMsgLine, "HELO %s%s", szSmtpServerName, CRLF);
  Check(send(hServer, szMsgLine, strlen(szMsgLine), 0), "send() HELO");
  Check(recv(hServer, szBuffer, sizeof(szBuffer), 0), "recv() HELO");

  // Send MAIL FROM: <sender@mydomain.com>
  sprintf(szMsgLine, "MAIL FROM:<%s>%s", szFromAddr, CRLF);
  Check(send(hServer, szMsgLine, strlen(szMsgLine), 0), "send() MAIL FROM");
  Check(recv(hServer, szBuffer, sizeof(szBuffer), 0), "recv() MAIL FROM");

  // Send RCPT TO: <receiver@domain.com>
  sprintf(szMsgLine, "RCPT TO:<%s>%s", szToAddr, CRLF);
  Check(send(hServer, szMsgLine, strlen(szMsgLine), 0), "send() RCPT TO");
  Check(recv(hServer, szBuffer, sizeof(szBuffer), 0), "recv() RCPT TO");

  // Send DATA
  sprintf(szMsgLine, "DATA%s", CRLF);
  Check(send(hServer, szMsgLine, strlen(szMsgLine), 0), "send() DATA");
  Check(recv(hServer, szBuffer, sizeof(szBuffer), 0), "recv() DATA");

  // Send all lines of message body (using supplied text file)
  MsgFile.getline(szLine, sizeof(szLine));             // Get first line

  do         // for each line of message text...
  {
    sprintf(szMsgLine, "%s%s", szLine, CRLF);
    Check(send(hServer, szMsgLine, strlen(szMsgLine), 0), "send() message-line");
    MsgFile.getline(szLine, sizeof(szLine)); // get next line.
  } while(MsgFile.good());

  // Send blank line and a period
  sprintf(szMsgLine, "%s.%s", CRLF, CRLF);
  Check(send(hServer, szMsgLine, strlen(szMsgLine), 0), "send() end-message");
  Check(recv(hServer, szBuffer, sizeof(szBuffer), 0), "recv() end-message");

  // Send QUIT
  sprintf(szMsgLine, "QUIT%s", CRLF);
  Check(send(hServer, szMsgLine, strlen(szMsgLine), 0), "send() QUIT");
  Check(recv(hServer, szBuffer, sizeof(szBuffer), 0), "recv() QUIT");

  // Report message has been sent
  cout << "Sent " << argv[4] << " as email message to " << szToAddr << endl;

  // Close server socket and prepare to exit.
  closesocket(hServer);

  WSACleanup();

  return 0;
}
۱۰-فروردین-۱۳۸۹, ۲۳:۰۶:۵۱
ارسال‌ها
پاسخ
تشکر شده توسط : lord_viper, اشک


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Exclamation درخواست كد براي ارسال به ايميل mortezadevil 1 2,496 ۱۴-تير-۱۳۹۵, ۱۲:۱۱:۴۰
آخرین ارسال: lord_viper
  سوال ارسال اتوماتیک سلام در تلگرام moyha 3 2,644 ۲۴-بهمن-۱۳۹۴, ۲۰:۲۱:۰۶
آخرین ارسال: mahdi321
  ارسال و دریافت دیتا روی هاست kimiafars 5 4,160 ۰۹-شهریور-۱۳۹۲, ۱۱:۲۲:۱۸
آخرین ارسال: kimiafars
  [سوال] راهنمايي براي نوشتن برنامه تحت پروتكل HTTP one hacker alone 4 3,998 ۲۲-بهمن-۱۳۹۰, ۱۷:۵۸:۲۶
آخرین ارسال: one hacker alone
  [سوال] تخصیص حافظه به رشته و ارسال به تابع؟ one hacker 2 3,268 ۰۶-اردیبهشت-۱۳۹۰, ۱۷:۲۸:۲۲
آخرین ارسال: one hacker
Sad كمك براي حل يك مسئله به زبان سي تحت داس(فوري) آرمان 0 2,770 ۱۹-دى-۱۳۸۵, ۲۳:۰۰:۴۹
آخرین ارسال: آرمان
  درخواست براي يك برنامه به زبان سي تحت داس popcorn_pmc 0 1,992 ۱۶-دى-۱۳۸۵, ۲۳:۰۵:۵۳
آخرین ارسال: popcorn_pmc
  تقاضا دارم برنامه مجيك باكس را كه به زبان سي ميباشد را براي gigihamedino 0 1,805 ۰۷-اسفند-۱۳۸۴, ۱۹:۴۶:۲۱
آخرین ارسال: gigihamedino

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 2 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS