在asp中发送邮件 表单提交到邮箱 表单发送到邮箱

合集下载

SAP邮件发送

SAP邮件发送

一、***************************************在SAP中我们可以配置STMP邮件功能,可以通过SOST来查看邮件状态,在编码中可用FM SO_DOCUMENT_SEND_API1 、SO_NEW_DOCUMENT_ATT_SEND_API1通过编码的方式来发送邮件以及邮件附件。

在定义附件表时用solisti1,其长度为Char255,实际中我们导出的每一行记录都会超出这个长度。

对XLS格试的附件我们可以用Excel的分隔标签来解决这个问题,对于文字乱码我们可以在附件加charset=utf-16le解决此类问题。

同样,也适用于其他类似的乱码问题。

constants: c_tab type c value cl_abap_char_utilities=>horizontal_tab,c_cret type c value cl_abap_char_utilities=>cr_lf,c_mimetype type char64value 'APPLICATION/MSEXCEL;charset=utf-16le'.data: v_xattach type xstring,it_binary_attach type solix_tab.*---------------------------------------------------------------------------------* Convert the internal data to XString*----------------------------------------------------------------------------------data: lc_descr_ref type ref to cl_abap_structdescr,lv_value type char128,lv_temp type string,lv_mid type string,lv_tabix type sy-tabix.field-symbols: <fs_intable> type any.field-symbols: <intable_wa> type abap_compdescr.loop at it_table.lv_tabix = sy-tabix.clear lv_temp.lc_descr_ref ?= cl_abap_typedescr=>describe_by_data( it_table ).loop at lc_descr_ref->components assigning <intable_wa>.assign component sy-tabix of structure in_table to <fs_table>.lv_value = <fs_table>.condense lv_value.if sy-tabix = 1.lv_temp = lv_value.continue.endif.concatenate lv_temp lv_valueinto lv_temp separated by c_tab.endloop.concatenate lv_mid lv_temp c_cret into lv_mid.endloop.* Convert string to xstring type* 'APPLICATION/MSEXCEL;charset=utf-16le'call function 'SCMS_STRING_TO_XSTRING'exportingtext = lv_midmimetype = c_mimetypeimportingbuffer = v_xattachexceptionsfailed = 1others = 2.* Add the file header for utf-16le. .if sy-subrc = 0.concatenate cl_abap_char_utilities=>byte_order_mark_littlev_xattach into v_xattach in byte mode.endif.call function 'SCMS_XSTRING_TO_BINARY'exportingbuffer = v_xattachtablesbinary_tab = it_binary_attach.*---------------------------------------------------------------------------------*Send Email*----------------------------------------------------------------------------------data: lv_title type so_obj_des, " Email Titlelv_email type adsmtp-smtp_addr, " Receiverlv_attitle type char50. " Attachment Titledata: send_request type ref to cl_bcs,document type ref to cl_document_bcs,conlengths type so_obj_len,html type table of w3html,sender_id type ref to if_sender_bcs,recipient type ref to if_recipient_bcs,cc_recipient type ref to if_recipient_bcs,sent_to_all type os_boolean,bcs_exception type ref to cx_bcs,bcs_message type string.clear: lv_email,lv_title,html. " Email Body Content with html formattry.* request email functionclear send_request.send_request = cl_bcs=>create_persistent( ).* Create the content of emailclear document .document = cl_document_bcs=>create_document(i_type = 'HTM'i_text = htmli_length = conlengthsi_subject = lv_title ).* Add Attachmentcall method document->add_attachmentexportingi_attachment_type = 'XLS'i_attachment_subject = lv_attitlei_att_content_hex = it_binary_attach.* Add document to send requestcall method send_request->set_document( document ).clear recipient.recipient =cl_cam_address_bcs=>create_internet_address( lv_email ).* Add recipient with its respective attributes to send requestcall method send_request->add_recipientexportingi_recipient = recipienti_express = 'X'.* E-mailcall method send_request->set_status_attributesexportingi_requested_status = 'E'i_status_mail = 'E'.call method send_request->set_send_immediately( 'X' ).* Send documentcall method send_request->send(exportingi_with_error_screen = 'X'receivingresult = sent_to_all ).if sent_to_all = 'X' and sy-batch <> 'X'.message 'Send Successfully' type 'I'.endif.commit work.catch cx_bcs into bcs_exception.bcs_message = bcs_exception->get_text( ).if sy-batch <> 'X'.message bcs_exception type 'E'.else.write: bcs_message.endif.exit.endtry.二、SAP OFFCIE功能发送邮件SAP做为自成一体的系统,其开发环境有着丰富的资源,其中就包括发送邮件的SAP Office 组件。

百度文库-SAP发送邮件

百度文库-SAP发送邮件

采购订单发送邮件:截图如下:代码如下:ZMMR099:********************************************************************* ****Program name: ZMMR099**Description : PO SEND MAIL**Date/Autohr :********************************************************************* ***** M O D I F I C A T I O N L O G********************************************************************* ***** ChangeDate Programmer Request Description** ========== ========== ========== =========================*********************************************************************** ***REPORT ZMMR099NO STANDARD PAGE HEADINGLINE-SIZE 255LINE-COUNT 255.*** Global Data declearINCLUDE ZMMR099TOP.INCLUDE ZMMR099F01.*==================================================================== ==** Selection Screen Events*==================================================================== ==**** maintain selection screen outputAT SELECTION-SCREEN OUTPUT.*** F4 value help*AT SELECTION-SCREEN ON VALUE-REQUEST for <para/sel-opt>.*** check input dataAT SELECTION-SCREEN.*AT SELECTION-SCREEN ON <f>.*AT SELECTION-SCREEN ON BLOCK <>.****CHECK ON SELECT SCREEN INPUT*==================================================================== ==** Report Events*==================================================================== ==**** initial dataINITIALIZATION.clear: ADRNR2,SUPP_NAME2 ,SUPP_NAMECO ,SUPP_STR1 , "street2 SUPP_STR2 , "street3 SUPP_STREET,SUPP_CITY ,SUPP_CN ,SUPP_CN_NAME ,SUPP_ALL ,SUPP_FRISTNAME ,SUPP_LASTNAME ,SUPP_ANRED ,SUPP_PRSNR ,TEL_NUMBER ,TEL_EXTENS ,SUPP_TEL ,ADRNR ,DELV_NAME1 ,DELV_NAME2 ,DELV_STR1 ,DELV_STR2 ,DELV_STREET ,DELV_CITY ,DELV_CN ,DELV_CN_NAME ,DELV_FRISTNAME ,DELV_LASTNAME ,DELV_ANRED ,DELV_PRSNR ,TEL_NUMBER1 ,TEL_EXTENS1 ,DELV_TEL ,PUR_TOTAL ,TAX_TOTAL ,NET_TOTAL ,DEL_PLACE ,HEAD_LINE ,REMARK ,ITEM_LINE,TDNAME .*** prepare report dataSTART-OF-SELECTION."显示清单用于显示当前所抓取的所有的清单PERFORM SHOW_LIST.*** output reportEND-OF-SELECTION.*==================================================================== ==** List Events*==================================================================== ==**** page headerTOP-OF-PAGE.*** page header after first listTOP-OF-PAGE DURING LINE-SELECTION.*** page footerEND-OF-PAGE.*** when double clickAT LINE-SELECTION.*** when click some icon (function code)*at user-command.Include的代码如下:ZMMR099TOP:*&---------------------------------------------------------------------**& 包含 ZMMR099TOP*&---------------------------------------------------------------------*TABLES: EKKO , EKPO , NAST ,TNAPR.data XSCREEN(1) type C.data GS_PO_HEAER like ZMPO_HERDER.data GS_PO_HEAER1 like ZMPO_HERDER occurs 0 with header line .data: LT_ZPO_ITEM like ZMPO_ITEM occurs 0 with header line.data: GI_RETCODE type I,ADRNR2 type T001W-ADRNR,SUPP_NAME1 like ADRC-NAME1,SUPP_NAME2 like ADRC-NAME1,******************************************LIFNR like LFA1-LIFNR,UKURS like TCURR-UKURS,******************************************SUPP_NAMECO like ADRC-NAME_CO,SUPP_STR1 like ADRC-STR_SUPPL1,SUPP_STR2 like ADRC-STR_SUPPL1,SUPP_STREET like ADRC-STREET,SUPP_CITY like ADRC-CITY1,SUPP_CN like ADRC-COUNTRY,SUPP_CN_NAME like T005T-LANDX,SUPP_ALL type STRING,"SUPP_FRISTNAME like KNVK-NAMEV,SUPP_LASTNAME like KNVK-NAME1,SUPP_ANRED like KNVK-ANRED,SUPP_PRSNR like KNVK-PRSNR,TEL_NUMBER like ADR2-TEL_NUMBER,TEL_EXTENS like ADR2-TEL_EXTENS,FAX_NUMBER like ADRC-FAX_NUMBER,SUPP_TEL like KNVK-TELF1,ADRNR type T001W-ADRNR,KTOKK like LFA1-KTOKK,DELV_NAME1 like ADRC-NAME1,DELV_NAME2 like ADRC-NAME1,DELV_CO like ADRC-NAME_CO,DELV_STR1 like ADRC-STR_SUPPL1, "street2 DELV_STR2 like ADRC-STR_SUPPL1, "street3 DELV_STREET like ADRC-STREET,DELV_CITY like ADRC-CITY1,DELV_CN like ADRC-COUNTRY,DELV_CN_NAME like T005T-LANDX,DELV_FRISTNAME like KNVK-NAMEV,DELV_LASTNAME like KNVK-NAME1,DELV_ANRED like KNVK-ANRED,DELV_PRSNR like KNVK-PRSNR,TEL_NUMBER1 like ADR2-TEL_NUMBER,TEL_EXTENS1 like ADR2-TEL_EXTENS,DELV_TEL like KNVK-TELF1,PUR_TOTAL like EKPO-NETWR,TAX_TOTAL like EKPO-NETWR,NET_TOTAL like EKPO-NETWR,COM_PLACE like ADRC-STREET,DEL_PLACE like LFA1-STRAS,HEAD_LINE like TLINE occurs 0 with header line,REMARK like TLINE-TDLINE ,ITEM_LINE like TLINE occurs 0 with header line,TDNAME like RSTXT-TDNAME,GAP type C value ' ',GAP1 type C value '-',POMENGE1 like EKPO-MENGE,POMENGE2 like EKPO-MENGE.data:AUTH_BUKRS like EKKO-BUKRS.data: ITCURR like TCURR occurs 0 with header line. data I_GDATU like EKKO-BEDAT."sy-datum.data: BEGIN OF g_itab OCCURS 0,EBELN like ekko-ebeln,EKORG LIKE EKKO-EKORG,END OF g_itab.TYPE-POOLS: slis.*TYPES: BEGIN OF wa_EKKO,* mark type c,* ebeln TYPE EKKO-ebeln,* ekorg TYPE EKKO-ekorg,* ekgrp type ekko-ekgrp ,* bedat type ekko-bedat ,* lifnr type ekko-lifnr ,* BSART type EKKO-BSART ,* END OF wa_EKKO.*data: BEGIN OF it_EKKO OCCURS 0,mark type c,ebeln TYPE EKKO-ebeln,ekorg TYPE EKKO-ekorg,ekgrp type ekko-ekgrp ,bedat type ekko-bedat ,lifnr type ekko-lifnr ,BSART type EKKO-BSART ,END OF it_EKKO."DATA: it_EKKO TYPE TABLE OF wa_EKKO ,data:l_pos TYPE i VALUE 1.DATA: gt_fieldcat TYPE slis_t_fieldcat_alv,wa_fieldcat TYPE slis_fieldcat_alv.data gt_events TYPE slis_t_event.data: P_EBELN like ekko-ebeln.data: LS_JOB_INFO1 type SSFCRESCL.data :job_output_options TYPE ssfcresop.data: OBJBIN like SOLISTI1 occurs 10 with header line,DOCDATA like SODOCCHGI1,OBJTXT like SOLISTI1 occurs 10 with header line,OBJPACK like SOPCKLSTI1 occurs 1 with header line,RECLIST like SOMLRECI1 occurs 1 with header line,OBJHEAD like SOLISTI1 occurs 1 with header line.data: i_pdf_tab LIKE TABLE OF tline WITH HEADER LINE.data: g_filesize TYPE i.data: TAB_LINES type I.data: P_XSCRN TYPE c VALUE 'X'.SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.SELECT-OPTIONS: s_ebeln FOR ekko-ebeln ,s_ekorg FOR ekko-ekorg ,s_ekgrp FOR ekko-ekgrp ,s_bedat FOR ekko-bedat ,s_lifnr FOR ekko-lifnr ,S_BSART FOR EKKO-BSART ."parameters P_XSCRN as checkbox default 'X'.SELECTION-SCREEN END OF BLOCK b1.Include ZMMR099F01代码如下:*&---------------------------------------------------------------------**& 包含 ZMMR099F01*&---------------------------------------------------------------------*FORM entry_neu USING return_code us_screen.DATA: li_retcode TYPE sy-subrc.xscreen = us_screen.PERFORM processing USING us_screenCHANGING li_retcode.IF li_retcode NE 0.return_code = 1.ELSE.return_code = 0.ENDIF.ENDFORM. "entry_neu*&---------------------------------------------------------------------**& Form processing*&---------------------------------------------------------------------** text*----------------------------------------------------------------------** -->PROC_SCREEN text* -->CF_RETCODE text*----------------------------------------------------------------------*FORM processing USING proc_screenCHANGING cf_retcode.DATA: lc_fm_name TYPE rs38l_fnam.DATA: ls_control_param TYPE ssfctrlop.DATA: ls_composer_param TYPE ssfcompop.DATA: lc_formname TYPE tdsfname.* Clear variantCLEAR gs_po_heaer.* SmartForm from customizing table TNAPRlc_formname = tnapr-sform.* select print dataPERFORM get_data CHANGING cf_retcode.READ TABLE gs_po_heaer1 INDEX 1.MOVE-CORRESPONDING gs_po_heaer1 TO gs_po_heaer.* delete adjacent duplicates from gs_po_header comparing eleln.IF cf_retcode = 0.PERFORM set_print_param CHANGING ls_control_paramls_composer_paramcf_retcode.ENDIF.IF cf_retcode = 0.* determine smartform function module for invoiceCALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'EXPORTINGformname = lc_formnameIMPORTINGfm_name = lc_fm_nameEXCEPTIONSno_form = 1no_function_module = 2OTHERS = 3.IF sy-subrc <> 0.* error handlingcf_retcode = sy-subrc.PERFORM protocol_update.ENDIF.ENDIF.CLEAR ls_job_info1.CALL FUNCTION lc_fm_namecontrol_parameters = ls_control_paramoutput_options = ls_composer_paramuser_settings = spacegs_po_heaer = gs_po_heaerpur_total = pur_totaltax_total = tax_totalnet_total = net_totaldel_place = del_placeremark = remarkIMPORTINGjob_output_info = ls_job_info1TABLESit_zpo_item = lt_zpo_item[]EXCEPTIONSformatting_error = 1internal_error = 2send_error = 3user_canceled = 4OTHERS = 5.* ls_control_param-no_open = 'X'.break abap01.IF sy-subrc <> 0.* error handlingcf_retcode = sy-subrc.PERFORM protocol_update.* get SmartForm protocoll and store it in the NAST protocoll PERFORM add_smfrm_prot.ENDIF.*ls_control_param-getotf = 'X'.ls_control_param-no_dialog = 'X'.ls_control_param-langu = sy-langu.CLEAR ls_job_info1.CALL FUNCTION lc_fm_namecontrol_parameters = ls_control_paramoutput_options = ls_composer_paramuser_settings = spacegs_po_heaer = gs_po_heaerpur_total = pur_totaltax_total = tax_totalnet_total = net_totaldel_place = del_placeremark = remarkIMPORTINGjob_output_info = ls_job_info1TABLESit_zpo_item = lt_zpo_item[]EXCEPTIONSformatting_error = 1internal_error = 2send_error = 3user_canceled = 4OTHERS = 5.PERFORM savapdf.CLEAR gs_po_heaer.ENDFORM. "PROCESSING*&---------------------------------------------------------------------**& Form set_print_param*&---------------------------------------------------------------------** text*----------------------------------------------------------------------** -->CS_CONTROL_PARAM text* -->CS_COMPOSER_PARAM text* -->CF_RETCODE text*----------------------------------------------------------------------*FORM set_print_param CHANGING cs_control_param TYPE ssfctrlopcs_composer_param TYPE ssfcompopcf_retcode TYPE sy-subrc.DATA: ls_itcpo TYPE itcpo.DATA: lf_repid TYPE sy-repid.DATA: lf_device TYPE tddevice.cs_composer_param-tddest = 'LP01'.cs_composer_param-tdimmed = 'X'.IF xscreen = 'X'.cs_composer_param-tdnoprint = 'X'.ENDIF.cs_control_param-device = 'PRINTER'.* cs_control_param-device = 'MAIL'.cs_control_param-no_dialog = 'X'.cs_control_param-preview = xscreen.cs_control_param-langu = 'M'.ENDFORM. "set_print_param*&---------------------------------------------------------------------**& Form protocol_update*&---------------------------------------------------------------------** text*----------------------------------------------------------------------*FORM protocol_update .CHECK xscreen = space.CALL FUNCTION 'NAST_PROTOCOL_UPDATE'EXPORTINGmsg_arbgb = syst-msgidmsg_nr = syst-msgnomsg_ty = syst-msgtymsg_v1 = syst-msgv1msg_v2 = syst-msgv2msg_v3 = syst-msgv3msg_v4 = syst-msgv4EXCEPTIONSOTHERS = 1.ENDFORM. " protocol_update*&---------------------------------------------------------------------**& Form add_smfrm_prot*&---------------------------------------------------------------------** text*----------------------------------------------------------------------*FORM add_smfrm_prot .DATA: lt_errortab TYPE tsferror.FIELD-SYMBOLS: <fs_errortab> TYPE LINE OF tsferror.* get smart form protocollCALL FUNCTION 'SSF_READ_ERRORS'IMPORTINGerrortab = lt_errortab.* add smartform protocoll to nast protocollLOOP AT lt_errortab ASSIGNING <fs_errortab>.CALL FUNCTION 'NAST_PROTOCOL_UPDATE'EXPORTINGmsg_arbgb = <fs_errortab>-msgidmsg_nr = <fs_errortab>-msgnomsg_ty = <fs_errortab>-msgtymsg_v1 = <fs_errortab>-msgv1msg_v2 = <fs_errortab>-msgv2msg_v3 = <fs_errortab>-msgv3msg_v4 = <fs_errortab>-msgv4EXCEPTIONSOTHERS = 1.ENDLOOP.ENDFORM. " add_smfrm_prot*&---------------------------------------------------------------------**& Form protocol_update_spool*&---------------------------------------------------------------------** text*----------------------------------------------------------------------** -->SYST_MSGNO text* -->P_LS_SPOOLID text* -->P_SPACE1 text* -->P_SPACE2 text* -->P_SPACE3 text*----------------------------------------------------------------------*FORM protocol_update_spool USING syst_msgnop_ls_spoolidp_space1p_space2p_space3.syst-msgid = 'ME'.syst-msgno = syst_msgno.syst-msgv1 = p_ls_spoolid.CONDENSE syst-msgv1.CHECK xscreen = space.CALL FUNCTION 'NAST_PROTOCOL_UPDATE'EXPORTINGmsg_arbgb = syst-msgidmsg_nr = syst-msgnomsg_ty = syst-msgtymsg_v1 = syst-msgv1msg_v2 = p_space1msg_v3 = p_space2msg_v4 = p_space3EXCEPTIONSOTHERS = 1.ENDFORM. " protocol_update_spool*&---------------------------------------------------------------------**& Form get_data*&---------------------------------------------------------------------** text*----------------------------------------------------------------------** -->CF_RETCODE text*----------------------------------------------------------------------*FORM get_data CHANGING cf_retcode.DATA lv_ebeln LIKE ekko-ebeln.DATA: cnt(2) TYPE c,persno(10) TYPE c.IF nast-objky+10 NE space.nast-objky = nast-objky+16(10).ELSE.nast-objky = nast-objky.ENDIF.lv_ebeln = nast-objky.SELECT DISTINCT ekko~bukrs ekko~lifnr ekko~ebeln ekko~bsart ekko~ae datekko~inco1 ekko~inco2 ekpo~werks ekko~waers ekko~frgzu ekko~ ztermekko~ernam ekko~bedat ekko~ekorg ekko~ekgrp ekko~wkurs"汇率INTO CORRESPONDING FIELDS OF TABLE gs_po_heaer1FROM ekkoJOIN ekpo ON ekpo~ebeln = ekko~ebelnWHERE ekko~ebeln = lv_ebeln.LOOP AT gs_po_heaer1.SELECT SINGLE lgort INTO gs_po_heaer1-lgort FROM ekpo WHERE ekpo~ ebeln = gs_po_heaer1-ebeln.SELECT SINGLE bednr INTO gs_po_heaer1-bednr FROM eban WHERE eban~ ebeln = gs_po_heaer1-ebeln.SELECT SINGLE afnam INTO gs_po_heaer1-afnam FROM eban WHERE eban~ ebeln = gs_po_heaer1-ebeln.********************************************************************* ************************************SELECT SINGLE ukurs INTO gs_po_heaer1-ukurs FROM tcurr WHERE tcu rr~kurst EQ 'M'AND fcurr EQ 'USD' "从货币AND tcurr EQ gs_po_heaer1-waers "最终货币AND tcurr~gdatu <= gs_po_heaer1-bedatAND gdatu > i_gdatu.* *******************************IF gs_po_heaer1-bukrs = 1000.gs_po_heaer1-ztitel = '香港天惠有限公司'.ELSEIF gs_po_heaer1-bukrs = 3000.gs_po_heaer1-ztitel = '东莞添威电子制品有限公司'.ENDIF.**************************************************************************************************** *************************************MODIFY gs_po_heaer1.ENDLOOP.SELECT ekpo~ebeln ekpo~ebelp ekpo~matnr ekpo~ematn ekpo~txz01ekpo~menge ekpo~meins ekpo~netpr ekko~waers ekko~bsartekpo~netwr ekpo~peinh ekpo~mwskz ekpo~infnr ekpo~werksekpo~bukrs ekpo~bprme ekpo~bpumz ekpo~bpumn ekpo~zzsub_matnr ekpo~banfn ekpo~bednr ekpo~loekz ekpo~idnlf ekpo~zzdeudate* "EKET~MENGE EKET~EINDT* ekpo~umren ekpo~umrez ekpo~lmeinINTO CORRESPONDING FIELDS OF TABLE lt_zpo_itemFROM ekpoJOIN ekko ON ekpo~ebeln = ekko~ebeln* JOIN EKET ON EKET~EBELN = EKPO~EBELN AND EKET~EBELP = EKPO~EBELP WHERE ekpo~ebeln = lv_ebeln .* AND ekpo~loekz <> 'L'.CLEAR pur_total.CLEAR tax_total.CLEAR net_total.DESCRIBE TABLE lt_zpo_item LINES sy-tmaxl.IF sy-tmaxl = 0.MESSAGE i004(zmseg).STOP.ENDIF.LOOP AT lt_zpo_item.************************添加物料版次DATA: max_aennr(12) TYPE c.SELECT MAX( aeoi~aennr ) INTO max_aennr FROM aeoi WHERE aeoi~oitx t = '修改版本' AND aeoi~objkt = lt_zpo_item-matnr.SELECT SINGLE aeoi~revlv INTO lt_zpo_item-revlv FROM aeoi WHERE aeoi~aennr = max_aennr.******************************************CLEAR lt_zpo_item-atwrt. CLEAR lt_zpo_item-atwrt2. CLEAR lt _zpo_item-atwrt3.CLEAR lt_zpo_item-ematn. CLEAR lt_zpo_item-ematn2.IF lt_zpo_item-loekz = 'L'.lt_zpo_item-menge = 0.ENDIF.IF lt_zpo_item-zzsub_matnr = ''.SELECT SINGLE atwrt INTO lt_zpo_item-atwrtFROM auspWHERE objek = lt_zpo_item-matnrAND atinn = '0000000008'AND atwrt <> ''.SELECT SINGLE atwrt INTO lt_zpo_item-atwrt2FROM auspWHERE objek = lt_zpo_item-matnrAND atinn = '0000000034'AND atwrt <> ''.CONCATENATE lt_zpo_item-atwrt lt_zpo_item-atwrt2 INTO lt_zpo_it em-ematn2.* IF sy-subrc = 0.* lt_zpo_item-ematn = lt_zpo_item-atwrt.* ENDIF.CLEAR lt_zpo_item-atwrt.SELECT SINGLE atwrt INTO lt_zpo_item-atwrt3FROM auspWHERE objek = lt_zpo_item-matnrAND atinn = '0000000009'AND atwrt <> ''.IF sy-subrc = 0.CONCATENATE lt_zpo_item-atwrt3 ':' lt_zpo_item-ematn2 INTO l t_zpo_item-ematn2.ENDIF.ELSE.SELECT SINGLE atwrt INTO lt_zpo_item-atwrtFROM auspWHERE objek = lt_zpo_item-zzsub_matnrAND atinn = '0000000008'AND atwrt <> ''.SELECT SINGLE atwrt INTO lt_zpo_item-atwrt2FROM auspWHERE objek = lt_zpo_item-zzsub_matnrAND atinn = '0000000034'AND atwrt <> ''.CONCATENATE lt_zpo_item-atwrt lt_zpo_item-atwrt2 INTO lt_zpo_it em-ematn2.* IF sy-subrc = 0.* lt_zpo_item-ematn = lt_zpo_item-atwrt.* ENDIF.CLEAR lt_zpo_item-atwrt.SELECT SINGLE atwrt INTO lt_zpo_item-atwrt3FROM auspWHERE objek = lt_zpo_item-zzsub_matnrAND atinn = '0000000009'AND atwrt <> ''.IF sy-subrc = 0.CONCATENATE lt_zpo_item-atwrt3 ':' lt_zpo_item-ematn2 INTO l t_zpo_item-ematn2.ENDIF.ENDIF.SELECT SINGLE zeivr INTO lt_zpo_item-zeivrFROM maraWHERE matnr = lt_zpo_item-matnr.*when the currency is JPY,IF lt_zpo_item-waers = 'JPY'.lt_zpo_item-netpr = lt_zpo_item-netpr * 100.ENDIF.*when the currency is JPYCLEAR: pomenge1,pomenge2.SELECT b~maktx a~mfrpn a~wrkstINTO (lt_zpo_item-maktx,lt_zpo_item-mfrpn,lt_zpo_item-wrkst)FROM mara AS aJOIN makt AS b ON a~matnr = b~matnrWHERE a~matnr = lt_zpo_item-ematn.ENDSELECT.IF lt_zpo_item-peinh <> 0.lt_zpo_item-netpr = lt_zpo_item-netpr / lt_zpo_item-peinh.ENDIF.CLEAR:pomenge1,pomenge2.pomenge1 = lt_zpo_item-menge.IF frac( pomenge1 ) <> 0.lt_zpo_item-menge1 = pomenge1 .ELSE.lt_zpo_item-menge1 = trunc( pomenge1 ).ENDIF.pomenge2 = lt_zpo_item-menge * lt_zpo_item-bpumz / lt_zpo_item-bpumn.lt_zpo_item-netwr = pomenge2 * lt_zpo_item-netpr.IF frac( pomenge2 ) <> 0.lt_zpo_item-menge2 = pomenge2 .ELSE.lt_zpo_item-menge2 = trunc( pomenge2 ).ENDIF.lt_zpo_item-netpr1 = lt_zpo_item-netpr.lt_zpo_item-netwr1 = lt_zpo_item-netwr.CONDENSE lt_zpo_item-menge1.CONDENSE lt_zpo_item-menge2.CONDENSE lt_zpo_item-netpr1.CONDENSE lt_zpo_item-netwr1.CLEAR lt_zpo_item-item_tax.IF lt_zpo_item-mwskz = 'J0' OR lt_zpo_item-mwskz = 'Y0' OR lt_zpo _item-mwskz = 'Z0'.lt_zpo_item-item_tax = lt_zpo_item-netwr * 0.ENDIF.IF lt_zpo_item-mwskz = 'J1' OR lt_zpo_item-mwskz = 'Y1' OR lt_zpo _item-mwskz = 'Z1'.lt_zpo_item-tax_code = '17%'.lt_zpo_item-item_tax = lt_zpo_item-netwr * 17 / 100.ENDIF.IF lt_zpo_item-mwskz = 'J2' OR lt_zpo_item-mwskz = 'Z2'.lt_zpo_item-tax_code = '11%'.lt_zpo_item-item_tax = lt_zpo_item-netwr * 11 / 100.ENDIF.IF lt_zpo_item-mwskz = 'J3' OR lt_zpo_item-mwskz = 'Z3'.lt_zpo_item-tax_code = '7%'.lt_zpo_item-item_tax = lt_zpo_item-netwr * 7 / 100.ENDIF.IF lt_zpo_item-mwskz = 'J4' OR lt_zpo_item-mwskz = 'Z4'.lt_zpo_item-tax_code = '6%'.lt_zpo_item-item_tax = lt_zpo_item-netwr * 6 / 100.ENDIF.IF lt_zpo_item-mwskz = 'J5'.lt_zpo_item-tax_code = '4%'.lt_zpo_item-item_tax = lt_zpo_item-netwr * 4 / 100.ENDIF.IF lt_zpo_item-mwskz = 'Z5'.lt_zpo_item-tax_code = '3%'.lt_zpo_item-item_tax = lt_zpo_item-netwr * 3 / 100.ENDIF.lt_zpo_item-item_tax1 = lt_zpo_item-item_tax.lt_zpo_item-item_total = lt_zpo_item-item_tax + lt_zpo_item-netwr.CONDENSE lt_zpo_item-item_tax1.tax_total = tax_total + lt_zpo_item-item_tax.net_total = net_total + lt_zpo_item-netwr.pur_total = net_total + tax_total.*get po info textCLEAR tdname.* CONCATENATE LT_ZPO_ITEM-INFNR LT_ZPO_ITEM-BUKRS '0'* INTO TDNAME. " LT_ZPO_ITEM-WERKSCONCATENATE lt_zpo_item-ebeln lt_zpo_item-ebelpINTO tdname. " LT_ZPO_ITEM-WERKSCALL FUNCTION 'READ_TEXT'EXPORTINGclient = sy-mandtid = 'F01'language = '1'name = tdnameobject = 'EKPO'* ARCHIVE_HANDLE = 0* LOCAL_CAT = ' '* IMPORTING* HEADER =TABLESlines = item_lineEXCEPTIONSid = 1language = 2name = 3not_found = 4object = 5reference_check = 6wrong_access_to_archive = 7OTHERS = 8 .IF sy-subrc = 0.LOOP AT item_line.CONCATENATE lt_zpo_item-itemtext item_line-tdline INTOlt_zpo_item-itemtext.ENDLOOP.CLEAR item_line.ENDIF.IF lt_zpo_item-itemtext IS NOT INITIAL.CONCATENATE 'Remark: ' lt_zpo_item-itemtext INTO lt_zpo_item-itemtext.ENDIF.SELECT SINGLE eindt INTO lt_zpo_item-eindtFROM eket WHERE ebeln = lt_zpo_item-ebelnAND ebelp = lt_zpo_item-ebelp.********************************修改再计划日期为交货日期IF lt_zpo_item-zzdeudate IS NOT INITIAL.lt_zpo_item-eindt = lt_zpo_item-zzdeudate.ENDIF.PERFORM delete_zero USING lt_zpo_item-ebelp.MODIFY lt_zpo_item.CLEAR lt_zpo_item.ENDLOOP.LOOP AT gs_po_heaer1.*&gain header texttdname = gs_po_heaer1-ebeln.CALL FUNCTION 'READ_TEXT'EXPORTING* CLIENT = SY-MANDTid = 'F01'language = sy-languname = tdnameobject = 'EKKO'* ARCHIVE_HANDLE = 0* LOCAL_CAT = ' '* IMPORTING* HEADER =* OLD_LINE_COUNTER =TABLESlines = item_line EXCEPTIONSid = 1language = 2name = 3not_found = 4object = 5reference_check = 6wrong_access_to_archive = 7OTHERS = 8.IF sy-subrc = 0.READ TABLE item_line INDEX 1.MOVE item_line-tdline TO gs_po_heaer1-mrpno.ENDIF.SELECT SINGLE eknam smtp_addrINTO (gs_po_heaer1-eknam,gs_po_heaer1-smtp_addr2)FROM t024WHERE ekgrp = gs_po_heaer1-ekgrp.SELECT adrnrINTO adrnr2FROM t001wWHERE werks = gs_po_heaer1-werks.IF sy-subrc = 0.SELECT streetINTO gs_po_heaer1-addressFROM adrcWHERE addrnumber = adrnr2.ENDSELECT.ENDIF.ENDSELECT.SELECT adrnrINTO adrnrFROM lfa1WHERE lifnr = gs_po_heaer1-lifnr.ENDSELECT.SELECT name1 name2 city1 name_co str_suppl1 str_suppl2 country street tel_number fax_numberINTO (supp_name1,supp_name2,supp_city,supp_nameco,supp_str1, supp_str2,supp_cn,supp_street,tel_number,fax_number) FROM adrcWHERE addrnumber = adrnr.ENDSELECT.SELECT landxINTO supp_cn_nameFROM t005tWHERE spras = 'E'AND land1 = supp_cn.ENDSELECT.CONDENSE supp_name1.CONDENSE supp_name2.gs_po_heaer1-supp_co = supp_nameco.gs_po_heaer1-supp_strone = supp_str1.gs_po_heaer1-supp_strtwo = supp_str2.gs_po_heaer1-supp_tel = tel_number.gs_po_heaer1-supp_fax = fax_number.gs_po_heaer1-address = supp_street.CONCATENATE supp_street supp_city supp_cn_nameINTO gs_po_heaer1-supp_cn SEPARATED BY gap .CONCATENATE supp_name1 supp_name2 INTO gs_po_heaer1-supp_name SEPARATED BY gap.SELECT SINGLE namev name1 anred prsnrINTO (supp_fristname,supp_lastname,supp_anred,supp_prsnr)FROM knvkWHERE lifnr = gs_po_heaer1-lifnr.CONCATENATE supp_lastname supp_fristname INTO gs_po_heaer1-supp_c ontact.SELECT SINGLE koinh INTO gs_po_heaer1-koinh FROM lfbk WHERE lifnr = gs_po_heaer1-lifnr.SELECT SINGLE smtp_addr INTO gs_po_heaer1-smtp_addr1FROM adr6 WHERE addrnumber = adrnr.SELECT SINGLE text1INTO gs_po_heaer1-text1FROM t052uWHERE zterm = gs_po_heaer1-zterm.IF gs_po_heaer1-inco1 = space.SELECT SINGLE inco1 inco2INTO (gs_po_heaer1-inco1,gs_po_heaer1-inco2)FROM lfm1WHERE lifnr = gs_po_heaer1-lifnrAND ekorg = gs_po_heaer1-ekorg.ELSE.SELECT SINGLE bezei INTO gs_po_heaer1-inco2FROM tinctWHERE inco1 = gs_po_heaer1-inco1AND spras = '1'.ENDIF.CLEAR persno.SELECT SINGLE persnumber INTO persnoFROM user_addrpWHERE bname = gs_po_heaer1-ernam.IF sy-subrc = 0 AND gs_po_heaer1-smtp_addr2 = space.SELECT SINGLE smtp_addr INTO gs_po_heaer1-smtp_addr2FROM adr6WHERE persnumber = persno.ENDIF.CLEAR lt_zpo_item.READ TABLE lt_zpo_item WITH KEY ebeln = gs_po_heaer1-ebeln.IF sy-subrc = 0.gs_po_heaer1-banfn = lt_zpo_item-banfn.IF lt_zpo_item-tax_code NE space.CONCATENATE '(VAT' lt_zpo_item-tax_code ')' INTO gs_po_heaer1 -taxcode.ENDIF.ENDIF.CLEAR cnt.*************采购单版本DATA:BEGIN OF tcdpos,changenr LIKE cdpos-changenr,END OF tcdpos.DATA:it_cdpos LIKE tcdpos OCCURS 0 WITH HEADER LINE.SELECT changenr INTO CORRESPONDING FIELDS OF TABLE it_cdpos FROM cdposWHERE objectid = gs_po_heaer1-ebeln AND tabname = 'EKPO' AND ( fname = 'MENGE' OR fname = 'NETWR' OR fname = 'KEY' OR fname = 'LO EKZ' )."SELECT COUNT(*) INTO cnt FROM cdpos WHERE objectid = gs_po_heae r1-ebeln AND tabname = 'EKPO' AND ( fname = 'MENGE' OR fname = 'NET WR' ).DELETE ADJACENT DUPLICATES FROM it_cdpos .cnt = lines( it_cdpos ).CONCATENATE 'Rev.' ' ' cnt INTO gs_po_heaer1-count.MODIFY gs_po_heaer1.CLEAR gs_po_heaer1.ENDLOOP.ENDFORM. "get_data*&---------------------------------------------------------------------**& Form delete_zero*&---------------------------------------------------------------------** text*----------------------------------------------------------------------** -->P_P1 text*----------------------------------------------------------------------*FORM delete_zero USING p_p1.CALL FUNCTION 'BKK_DELETE_LEADING_ZERO'CHANGINGc_field = p_p1.ENDFORM. " delete_zero*&---------------------------------------------------------------------**& Form SHOW_LIST*&---------------------------------------------------------------------** text*----------------------------------------------------------------------** --> p1 text* <-- p2 text*----------------------------------------------------------------------*FORM show_list .SELECT ebeln ekorg ekgrp bedat lifnr FROM ekkoINTO CORRESPONDING FIELDS OF TABLE it_ekkoWHERE ebeln IN s_ebeln。

如何使用VBA实现自动化邮件发送

如何使用VBA实现自动化邮件发送

如何使用VBA实现自动化邮件发送自动化邮件发送是一项广泛应用于企业和个人工作中的任务。

VBA (Visual Basic for Applications)是一种用于自定义Microsoft Office应用程序的编程语言,它可以帮助我们实现自动化邮件发送的功能。

本文将介绍如何使用VBA编写自动化邮件发送的代码,并实现发送给多个收件人、附件添加等功能。

首先,我们需要打开Microsoft Outlook应用程序,并创建一个新的邮件。

通过以下VBA代码实现:```VBASub SendMail()Dim OutlookApp As Outlook.ApplicationDim MailItem As Outlook.MailItem'启动Outlook应用程序Set OutlookApp = New Outlook.Application'创建新邮件Set MailItem = OutlookApp.CreateItem(olMailItem)With MailItem'设置收件人.To = "收件人邮箱地址"'设置抄送.CC = "抄送人邮箱地址"'设置密送.BCC = "密送人邮箱地址"'设置主题.Subject = "邮件主题"'设置邮件内容.Body = "邮件内容"'添加附件.Attachments.Add "附件路径" '发送邮件.SendEnd With'释放对象Set OutlookApp = NothingSet MailItem = Nothing'显示提示信息MsgBox "邮件发送成功!"End Sub```在上述代码中,我们首先创建了一个Outlook应用程序对象`OutlookApp`和一个邮件对象`MailItem`。

通过VBA自动发送电子邮件

通过VBA自动发送电子邮件

通过VBA自动发送电子邮件自动化程度越来越高的今天,通过编程语言实现自动化操作已经成为了一种常见的需求。

在日常工作中,我们经常需要发送电子邮件,而通过VBA(Visual Basic for Applications)自动发送电子邮件就是一种高效、方便的方式。

VBA是微软Office套件中的一种基于Microsoft Visual Basic的宏语言,可以帮助我们在Office应用程序中进行自动化操作。

在Excel、Word等Office应用程序中,都可以使用VBA来编写宏。

下面我们将重点讨论如何使用VBA自动发送电子邮件。

第一步,打开VBA编辑器。

在Excel中,您可以按下`Alt +F11`快捷键来打开VBA编辑器。

在VBA编辑器中,您可以看到“项目资源管理器”、“属性窗口”和“代码窗口”。

点击“插入”菜单,选择“模块”,这样您就可以在代码窗口中编写VBA代码了。

第二步,设置引用。

在VBA中发送电子邮件,需要使用Outlook应用程序的功能。

要在VBA中使用Outlook应用程序,需要先设置引用。

在VBA编辑器中,点击“工具”菜单,选择“引用”。

在弹出的对话框中,找到并勾选“Microsoft Outlook XX.X Object Library”,其中“XX.X”代表您安装的Outlook版本号。

点击确定按钮,即可设置成功。

第三步,编写VBA代码。

在代码窗口中,您可以根据自己的需求编写VBA代码。

以下是一个简单的例子:```Sub SendEmail()Dim OutlookApp As ObjectDim OutlookMail As Object' 创建一个Outlook应用程序对象Set OutlookApp = CreateObject("Outlook.Application")' 创建一个新的邮件对象Set OutlookMail = OutlookApp.CreateItem(0)' 设置邮件的收件人、主题和内容With OutlookMail.To="*********************".Subject = "自动发送的邮件".Body = "这是通过VBA自动发送的邮件。

NET环境下五种邮件发送解决方案

NET环境下五种邮件发送解决方案

.NET环境下五种邮件发送解决方案1、使用outLook提供的发送如:我见过的用友软件U8生产制造(演示版),其中的邮件功能就是通过调用outLook 的ActiveX 组件优点:开发简单缺点:依赖outlook组件,SMTP 邮件服务邮件发送的代码如下:以下是引用片段:Private Sub Send()Dim outObj As New Outlook.Application()Dim Item As Outlook.MailItemClassItem = outObj.CreateItem(0)Item.To = "lihonggen0@ "Item.Subject = "hello"Item.Body = "hell"Item.Attachments.Add("C:\abc.txt")Item.Send()End Sub2、WEB开发,在中引用System.Web.Mail类System.Web.Mail 命名空间包含使您可以使用CDOSYS(Windows 2000 的协作数据对象)消息组件来构造和发送消息的类。

邮件消息是通过内置在Microsoft Windows 2000 中的SMTP 邮件服务或任意的SMTP 服务器来传送的。

此命名空间中的类可以在 或任何托管应用程序MailAttachment提供用于构造电子邮件附件的属性和方法。

MailMessage提供用于构造电子邮件的属性和方法。

SmtpMail提供用于使用Windows 2000 的协作数据对象(CDOSYS)消息组件来发送消息的属性和方法。

邮件可以通过Microsoft Windows 2000 中内置的SMTP 邮件服务或任意SMTP 服务器来传送。

System.Web.Mail 命名空间中的类型可以在 或任何托管应用程序使用。

Smtp服务器的设置,现在一些免费邮件提供商是不再提供针对所有邮件提供Smtp服务,在发送邮件的时候,需要验证用户信息,考虑Smtp用户验证问题如果Smtp服务器在本地计算机,发送速度很快的,基本上不用担心,如果不是本地服务器,那么发送的时候最好不要以此太多,一是速度问题,二是以此发送太多邮件,Smtp 服务器可能认为是垃圾邮件而拒绝服务代码如下:以下是引用片段:Private Sub Button1_Click(ByVal sender As System.Object,ByVal e AsSystem.EventArgs) Handles Button1.Click Dim mailObj As New MailMessage()Dim smtp As SmtpMail'定义SMTP服务器的名称smtp.SmtpServer = ""'定义邮件的发送地址mailObj.From = "lihonggen@"'定义邮件的接收地址mailObj.To = " AAA@"'定义邮件的暗送地址mailObj.Bcc= "aa@"'定义邮件的抄送地址 = "aaa@"'定义邮件的主题mailObj.Subject = "主题"'定义邮件的主体mailObj.Body = "邮件主体!"'邮件以 HTML的格式发送mailObj.BodyFormat = MailFormat.Html'定义邮件的有限级,在此设定为高mailObj.Priority = MailPriority.High'给发送的邮件附加上一个附件mailObj.Attachments.Add(NewMailAttachment("c:\aa.doc"))smTp.Send(mailObj)End Sub3、在或C#开发Windows 应用程序中使用.Sockets也是基于SMTP协议一、SMTP协议简介1、客户端通过服务器的25端口建立TCP/IP连接服务器端:220 Simple Mail Transfer Service Ready2、客户端使用“HELO”命令标识发件人客户端:HELO 服务器端:250 3、客户端发送MAIL命令,服务器端以OK作为响应表明准备接收客户端:MAIL FROM:〈A@〉服务器端:250 OK4、客户端发送RCPT命令标识收件人,服务器端回应是否愿意为收件人接受邮件客户端:RCPT TO:〈c@〉服务器端:250 OK5、协商结束后用命令DATA发送发送邮件客户端:DATA服务器端:354 Start mail input:end with 〈CRLF〉。

发送电子邮件

发送电子邮件

给邮件添加一个自定义类型的附件
AddHeader(Xheader,Value)
AddNativeHeader(Header,Value)
AddRecipient(emailAddress, recipientName,PGPKey)
给邮件添加一个自定义邮件头X-Header
给邮件添加一个邮件头
给邮件添加一个收件人。RecipientName 和PGPKey是可选项,RecioientName 为收件人姓名,PGPKey 给邮件加密
第七章 发送电子邮件
• 学习目标: • 掌握JMail组件的安装和注册的方法。 • 掌握利用JMail组件发送普通电子邮件
的方法。 • 掌握利用“无惧上传”上传文件的方
法 • 能利用JMail组件和“无惧上传”发送
带附件的邮件。
7.1 需求分析
大部分网站都具有将用户的注册信息、用户的留 言或用户找回的密码发送到指定的邮箱的功能。 Asp本身并不提供发送电子邮件的功能,但是可 以利用第三方组件来实现发送电子邮件。目前因 为大多数的虚拟主机都支持Jmail组件,本章将介 绍asp如何调用Jmail4.5组件发送电子邮件。在发 送电子邮件的时候有时需要发送带附件的电子邮 件,Asp本身也不提供上传附件的功能,利用无 惧上传类可以实现将邮件的附件上传到服务器中 ,然后在利用Jmail4.5组件中的相关方法发送带 附件的电子邮件。
7.2 任务分解
• 7.2.1 任务一:JMail组件安装、注册与卸载
1. JMail 的特点 W3 JMail组件是当前国际上最为流行的邮 件组件之一,当今世界上绝大部分ASP程序 开发人员都在使用JMail组件来构建邮件发 送系统。因为组件使用了最新的内核技术, 使用它更加可靠和稳定。

CASP系统使用手册

CASP系统使用手册

CASP系统使用手册1. 系统概述1.1 功能介绍- 登录与注销功能:用户可以通过输入用户名和密码登录到系统,并在不需要时进行注销。

- 用户管理功能:管理员可以添加、编辑和删除用户,以及分配相应的权限。

- 数据管理功能:支持对数据进行增删改查操作,并提供导入导出数据的选项。

1.2 技术要求- 操作系统要求: Windows XP或更高版本;Mac OS X10.x 或更高版本;Linux(Ubuntu, Fedora等)最新版;- 浏览器要求: Google Chrome 最新版;Mozilla Firefox 最新版。

2. 安装与配置指南2.1 安装包并解压缩文件夹至本地目录中。

2.2 打开浏览器,在地址栏中输入“localhost”访问CASPSystem首页。

按照页面提示完成基础设置。

3.用户账号注册流程说明注册步骤:- 进入CASPSystem首页“注册”按钮进入注册界面;- 输入个人信息(姓名、邮箱) 和设置密码;- 阅读并同意相关条款后提交表单.4.主页布局详解主页由以下几部分组成:4 .l 头部菜单栏 : 包含各种快捷.5.常见问题解答5.1 如何找回密码?- 在登录页面“忘记密码”,根据提示输入注册时使用的邮箱地址。

系统将发送一封包含重置密码的邮件到您的邮箱中。

按照邮件指引进行操作即可。

6.附件:CASPSystem用户手册.pdf法律名词及注释:- 登录与注销功能: 用户通过提供用户名和密码来访问系统,并在不需要时退出系统。

- 用户管理功能: 具有管理员权限可以添加、编辑和删除用户账号,并分配相应权限给他们。

- 数据管理功能: 提供对数据进行增删改查等操作并支持导入导出数据选项。

表单的提交方法

表单的提交方法

表单的提交方法表单的提交什么是表单的提交表单的提交是指通过填写表单中的字段数据,将数据发送到服务器进行处理的过程。

在网页中,表单的提交是实现用户与服务器之间交互的重要方法之一。

表单提交的方法1.GET方法GET方法是最常见的表单提交方法之一。

通过GET方法提交的表单数据会附加在URL的后面,以键值对的形式呈现。

例如:GET方法的特点是简单、直观,适用于在URL中传递少量数据。

但是,由于数据会出现在URL中,存在安全风险,且URL长度有限制。

2.POST方法POST方法是另一种常见的表单提交方法。

通过POST方法提交的表单数据不会附加在URL中,而是作为请求的一部分发送到服务器。

例如:POST /submit-form HTTP/Host:Content-Type: application/x-username=John&password=123456POST方法适合提交大量数据,且相对较安全,但相比GET方法稍显复杂。

3.AJAX方法AJAX是一种使用JavaScript和XMLHttpRequest对象实现的表单提交方法。

通过AJAX方法,表单数据可以异步地提交到服务器,页面不需要刷新。

这种方法可以提升用户体验,但对开发者要求较高。

var xhr = new XMLHttpRequest();("POST", "submit-form", true);("Content-Type", "application/json");= function() {if ( === 4 && === 200) {var response = ();// 处理服务器返回的数据}};var formData = {username: "John",password: "123456"};((formData));表单提交的注意事项•分析需求:在进行表单提交前,需要充分了解业务需求,确定需要提交的字段和数据类型。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在asp中发送邮件表单提交到邮箱表单发送到邮箱1.Jmail的用法Jmail的使用说明<%Dim SendStatSendStat = Jmail("wyongzhi@","Test Jmail","Just a test!","US-ASCII","text/plain") Response.Write SendStat%><%'--------------------------------------------------------------------Function Jmail(mailTo,mailTopic,mailBody,mailCharset,mailContentType)'--------------------------------------------------------------------'JMail'--------------------------------------------------------------------'入口参数:'mailTo 收件人email地址'mailTopic 邮件主题'mailBody 邮件正文(内容)'mailCharset 邮件字符集,例如GB2312或US-ASCII'mailContentType 邮件正文格式,例如text/plain或text/html'返回值:'字符串,发送成功后返回OK,不成功返回错误信息'使用方法:'1)设置好常量,即以Const开头的变量'2)使用类似如下代码发信'Dim SendStat'SendStat = Jmail("aa@","测试Jmail","这是一封<br/>测试信!","GB2312","text/html") 'Response.Write SendStat'--------------------------------------------------------------------'***************根据需要设置常量开始*****************DimConstFromNameCn,ConstFromNameEn,ConstFrom,ConstMailDomain,ConstMailServerUserName,ConstMailServerPasswordConstFromNameCn = ""'发信人中文姓名(发中文邮件的时候使用),例如'张三' ConstFromNameEn = ""'发信人英文姓名(发英文邮件的时候使用),例如'zhangsan' ConstFrom = ""'发信人邮件地址,例如'zhangsan@'ConstMailDomain = ""'smtp服务器地址,例如 ConstMailServerUserName = ""'smtp服务器的信箱登陆名,例如'zhangsan'。

注意要与发信人邮件地址一致!ConstMailServerPassword = ""'smtp服务器的信箱登陆密码'***************根据需要设置常量结束*****************'-----------------------------以下内容无需改动------------------------------On Error Resume NextDim myJmailSet myJmail = Server.CreateObject("JMail.Message")myJmail.Logging = True'记录日志myJmail.ISOEncodeHeaders = False'邮件头不使用ISO-8859-1编码myJmail.ContentTransferEncoding = "base64"'邮件编码设为base64myJmail.AddHeader "Priority","3"'添加邮件头,不要改动!myJmail.AddHeader "MSMail-Priority","Normal"'添加邮件头,不要改动!myJmail.AddHeader "Mailer","Microsoft Outlook Express 6.00.2800.1437"'添加邮件头,不要改动!myJmail.AddHeader "MimeOLE","Produced By Microsoft MimeOLE V6.00.2800.1441"'添加邮件头,不要改动!myJmail.Charset = mailCharsetmyJmail.ContentType = mailContentTypeIf UCase(mailCharset) = "GB2312" ThenmyJmail.FromName = ConstFromNameCnElsemyJmail.FromName = ConstFromNameEnEnd IfmyJmail.From = ConstFrommyJmail.Subject = mailTopicmyJmail.Body = mailBodymyJmail.AddRecipient mailTomyJmail.MailDomain = ConstMailDomainmyJmail.MailServerUserName = ConstMailServerUserName myJmail.MailServerPassword = ConstMailServerPasswordmyJmail.Send ConstMailDomainmyJmail.CloseSet myJmail=nothingIf Err ThenJmail=Err.DescriptionErr.ClearElseJmail="OK"End IfOn Error Goto 0End Function'--------------------------------------------------------------------%>2.easyMail的用法easymail组件的用法easymail组件使用说明Function SendEasyMail(Email,Topic,MailBody,TextBody)'on error resume nextdim Mailsendset Mailsend = Server.CreateObject("easymail.Mailsend")Dim Tid,UnUn = "admin@system.mail" '您的邮件服务器登录名,不需要密码Dim EISet EI = server.CreateObject("ers")Tid = EI.Login(un)Set EI = NothingMailsend.createnew Un,Tid '邮箱账号,临时IDMailsend.CharSet = "gb2312" '编码Mailsend.MailName = "LeadBBS" '发件人名Mailsend.EM_BackAddress = "" '邮件回复地址Mailsend.EM_Bcc = "" '暗送地址Mailsend.EM_Cc = "" '抄送地址Mailsend.EM_OrMailName = "" '原邮件名Mailsend.EM_Priority = "Normal" '邮件重要度Mailsend.EM_ReadBack = false '是否读取确认,挂号信(限本系统内用户) Mailsend.EM_SignNo = -1 '使用签名的序号Mailsend.EM_Subject = Topic '主题Mailsend.EM_Text = TextBody '内容Mailsend.EM_HTML_Text = MailBody 'HTML邮件内容eRichEditer = true '发送的是否为HTML格式邮件Mailsend.EM_TimerSend = "" '定时发送的时间Mailsend.EM_To = Email '收件人地址Mailsend.ForwardAttString = "" '转发邮件时的原附件Mailsend.AddFromAttFileString = "" '添加自网络存储中的文件名Mailsend.SystemMessage = false '是否是系统邮件Mailsend.SendBackup = false '是否保存发送邮件If Mailsend.Send() = false ThenSendEasyMail = 0ElseSendEasyMail = 1End IfSet Mailsend = nothingEnd Function3.无组件的用法无组件用asp发送邮件提交表格到指定邮箱Function SendCDOMail(Email,Topic,TextBody)dim objCDOMailSet objCDOMail = Server.CreateObject("CDONTS.NewMail")objCDOMail.From ="mail377234@" '改为你的邮箱objCDOMail.To = EmailobjCDOMail.Subject = TopicobjCDOMail.Body = TextBodyobjCDOMail.SendSet objCDOMail = NothingSendCDOMail = 1End Function%>。

相关文档
最新文档