Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.10;
Скачать: CL | DM;

Вниз

Можно ли с помощью cgi отправлять письма?   Найти похожие ветки 

 
Шишкин Илья ©   (2003-01-24 17:46) [0]

Сабж


 
Delirium^.Tremens ©   (2003-01-24 18:10) [1]

Можно:

int post::new_message() {
static Layout l("Sending Mail") ;
l.print(1) ;
cgi.readfrom(config.preferences()) ;
String real_from(cgi["Name"].as_text()) ;
String if_unset_org(cgi["Organization"].as_text()) ;
if ( real_from == NULL_String )
real_from = cgi.remote_user() + "@" + config.domain() ;
else
real_from = real_from + " <" + cgi.remote_user()
+ "@" + config.domain() + ">" ;

cgi.define(3,
"Attach:longfile",
"AttachType:select",
"Body:textarea"
) ;
cgi.form() ;
message.read(cgi["my_ref"].as_text()) ;

// parse the headers supplied to us
// add from and org if not supplied
// check To and Subj
Map& headers = message.parse_headers(cgi["Head"].as_text()) ;

String hh("To") ;
String s(cgi[hh].as_text()) ; // strip down to bare addresses
if (s != NULL_String) {
int n(s.freq(",")+1) ;
if ( n > 1 ) {
Regex comma("[ \t]*,[ \t]*") ;
String* ss = new String[n] ;
split(s,ss,n,comma) ;
while (--n >= 0) {
s.at(ss[n]) = Address(ss[n]).email() ;
}
headers[hh] = s ;
delete [] ss ;
} else
headers[hh] = Address(s).email() ;
} else if (headers[hh] == NULL_String)
message.add_error("No recipient specified!\n") ;

hh = "Subject" ;
if (cgi[hh].as_text() != NULL_String)
headers[hh] = cgi[hh].as_text() ;
else if (headers[hh] == NULL_String)
message.add_error("No subject specified!\n") ;

hh = "From" ;
String hs = "Sender" ;
if (headers[hh] == NULL_String)
headers[hh] = real_from ;
else if (headers[hs] == NULL_String)
headers[hs] = real_from ;
else {
hh = "X-Authenticated-Sender" ;
headers[hh] = real_from ;
}

hh = "Organization" ;
if (headers[hh] == NULL_String)
headers[hh] = if_unset_org ;

hh = "Message-Id" ;
hs = "<" ;
hs += cgi["my_ref"].as_text() + "@" + cgi.server_name() + ">" ;
headers[hh] = hs ;

if (strlen (cgi["Attach"].as_longtext()) < 2)
message.body(cgi["Body"].as_text()) ;
else {
message.start_mime() ;
message.add_mime(cgi["Body"].as_text()) ;
message.add_mime(cgi["Attach"], cgi["AttachType"].as_text()) ;
message.end_mime() ;
}
return 0 ;
}



http://www.cgi-resources.com/



Страницы: 1 вся ветка

Текущий архив: 2003.02.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.028 c
1-28823
158963
2003-02-02 14:17
2003.02.10
Обработака строки


1-28767
olookin
2003-01-31 17:35
2003.02.10
из Delphi в Excel


14-29067
Феликс
2003-01-24 01:58
2003.02.10
Вам какой спорт нравится?


1-28792
waterfoll
2003-01-29 12:47
2003.02.10
Есть программа с двумя формами, Form1 и Form2, в Form1 на


1-28790
Drohen
2003-02-01 23:38
2003.02.10
Как записать в реестр значение типа DWORD?