Open an email template

tony

If you want to provide an easy way for someone to contact you, this snippet aims to open an email template in the system default email program.

To use the code in a help file - which may be useful for developers to collect feedback - you would insert an action and define the action helper as the procedure file containing the ComposeAnEmail() function.

function Demo()
	NewPanel
	Button button1,pos={10,10},size={20,15},title="",Picture=ProcGlobal#pMail, Proc=ButtonProc
	Button button1,help={"Email the developer"}
end
function ButtonProc(STRUCT WMButtonAction &s) : ButtonControl
	if (s.eventCode == 2) // mouseup
		ComposeAnEmail()
	endif
	return 0
end
function ComposeAnEmail([string user, string domain, string subject, string body])
	domain = SelectString(ParamIsDefault(domain), domain, "uni-ingolstadt.de")
	user = SelectString(ParamIsDefault(user), user, "victor.frankenstein")
	subject = SelectString(ParamIsDefault(subject), subject, "Message from an Igor Pro user")
	body = SelectString(ParamIsDefault(body), body, "Type your message here")
	user = URLencode(user)
	domain = URLencode(domain)
	subject = URLencode(subject)
	body = URLencode(body)
	string cmd = ""
	sprintf cmd, "mailto:%s@%s?subject=%s&body=%s" user, domain, subject, body
	BrowseURL/Z cmd
	
	return V_flag
end
// PNG: width= 198, height= 48
Picture pMail
	ASCII85Begin
	M,6r;%14!\!!!!.8Ou6I!!!#=!!!!Q#R18/!(p&k=TAF%&TgHDFAm*iFE_/6AH5;7DfQssEc39jTBQ
	=U#;&M85u`*!mG5Nmir1#)n>FO/#6h#UA#F,q6:(,?!iI#lEYSod*Qq$@KU,Mh.,7X&l;B/R$c`uC#
	XWF=hJfM_\:TX.;b+[C^qj#rIg<`,cbt$BeAV:SrIbT9(Q#>B5PfiDUIc)O&-0Lb3$a5e5hC.+rV@6
	^0/&,k[^Wa9l-h$$ZA`TX$UG=:!)P;7!W9"9e'h6WLUj_Oo6Fpgein`uo_X&7//APB[9=85+oQk^&4
	3%()H9]Gr0W(><)k65VL];q(IEYg?pGDp2ドルd"780!8uJ<W[&^lKf*V,Sq,TGqEDQN%B25dae7A=Cai
	ZIpeg(rJ&srr)`aHF6qqa,_<N(rk(?V8J6OL,E4HeR2\ST<@KY)u'+$U$F`pR7mU9jBl)m(A@LsVmb
	p&cC@fq4[!4hCFb]nE;I40UMN%V4ot^P;8hGP+TUH^jTVq@UXa)_G\Gs2eS7C9jmbor_o"iXDJfLUB
	FS'X1`EX"6_i7ドルqCk7.ND?AR!9j1S\@fJ]i7Qf=MaaCS[9D5;gU!Q_]Y#6!:2<,dq=A7BH<bEn:tRu
	_cR9`r/#"FqE-+.3aQ&pAB]H!=6rA']7hiqpiG_-R<ZTaO)tj`?<%9dcS5?"ZWL<X\;Q8=,E'iN\%d
	TQ4(r3(Igt^]Cki`:;1i_/F*$$'Yk2p9Y`fNfhTW5#'>L[Vr:oLD:;9T:Z"oop48R,P,71oh5`RWKR
	P0)e?n!-Qn,E'GG`?KG,[lD5)U5?c\'Jr\*_,2bM2dl^6_Vk_,ROI.Q.$i1Q(dKosZs#%$*$"a*JgL
	ga3!sT`3ドルn;cEH#k.MFKm/[+fEtrh,nj1CfG^]=<Rrr52A_('+F&G!#2b_iCHn/Gb*Q-B'oD$?%^:$
	t.R5/hScr3.`,Nd5f/kMMmCNPr+4LiSZ,sceL2S2NCcJX6anb<MH,m!tL@.T.C*IR)[Nk[o\<:21/R
	b$CW)WE"r:_@2M6`35U?#-3tS2Ktgat#/J7;f:9a=6;`u_;:)BW#=ma&QA,FAAjXf..4UTTW#EQ'E,
	ZMlM'jtWIrU-]puE,REGuVmMe=^DIrId^"cXT`3/Z8+;])SeK>W]nl<+f+^DqChnJ$^lRa<l#[9Ch\
	S`9GCqmYncE^EX(eSo\T#1GCl3G(KbRO52@YF2RO)ND;ni.U+dqE!,KLiPV1@@AOgcHaG=ifPJmc"7
	WHU&Z%h-km#k)?oHn;mY/1,Y8!QNIup/T?g`m^OQ:O\diltp@mQ+r.udTlodcuSOU;!7kU,qV,E]h#
	7Ets;F)q%6bQg8i6X;4</lK`@X!#4\Qj#ec7o]^e!qVKb@,U=f<Ut-n30L_YkJjrF;bZ#&*&!k-'Lp
	P31Ngl$"bNJZ/DQ]X.ec<S5;o1_(C[M'CAI?_f>IAV-m+6P<Hl15ドルt935C`ZcBpp_M'>K"pH4pGk`K
	<on!JFrb2%'SI'+T@0gmifP3;cJPU\g?dF)r"Erqq<i#d/>mMo*2hVJ2?#K$rD_oQn4@2CB3&=nX]?
	E&beeeeVS!?`.3\PtH,J_$u9)q`&0<.G89.ispi3I/3>E]M8`(\Cr\"=fBBFUQ?a8-48[<cZ+D_52O
	lVodhN:cd,mFURfM;nF5oYk_+<q'EGc.@)YhBk<4SbRCgLITr?T/F5>aHn)(m)IX[$SlZdl-"p"#Vl
	p-kJm-O)sh7Im6hogJ>\(dKafcFX#'U,55Yhq5pT?f/iLIHM!hIEcG(CVrnfJ=KW!PnBTKp>)G/-Ec
	t'Wg<qQES3=3&h=i>S!Z)e&9AMM5MbP;+"H_0`][8X(o$\:/4Q3),BsX!q<?&Hs#K)>f!']mdBKCG_
	a/ZfQ#^&h0G$u0,.`Ij7"BO@71,"NLr2)J:`O9=?^Z?L_:%55B'!s"V&MW>T@0?&I"/3224円\L>uAu
	9GgVr6/r-/.&3Ho3#9[ON,H+_j5]/jUS)&S3'KMq\(dIaDn"J4円:2uS*,b&GY-Ge+om/S4円iRBu4b1
	qtihMB_L>pkBh?Eu8hr!Jdo[NGK]03i6&%B$WQ>KJf6,UQZH[GX%*S*4W8WlWBdt&p)q!d6p"\"rQg
	raq&jgT0cnG;tg8WosB_`+!^UR99,Wr`#4I%tKl3ドル^F)^QNS*!K@"elFLlt3U!s/Zj*VM#mJ-43I%E
	bBJu>jnq91ドルctkUMrSVnNk:N%Dbhjtj\IP^eqr>^-hI?Q$?n`^\U(E941UVCaU*sP+(m%Xp'_np9]p
	),863mU!#W;fO85*>XZqd=HI0bFd&-O08k,7-WNN/ui"G-:_s%e4X!WX&ILVtkTkdlepa2^+dUJ[$s
	8LP8[OC]<_Cj+SNb2kC/Is%t+1ZB<6>dW*kh=EkH<Y\a%>gqO0!!!!j78?7R6=>B
	ASCII85End
end

I haven't tested this much so I'd appreciate feedback on whether it works on various systems.

Works okay with Mac 11.7.9 (Big Sur) and Thunderbird.

aclight

You should be able to use BrowseURL instead of ExecuteScriptText. Inserting body text should be easy as well...just use something like

sprintf cmd, "mailto:%s@%s?subject=%s&body=%s" user, domain, subject, body

Each field (user, domain, subject, body) should likely be passed through URLEncode first. You are already encoding spaces in the subject but other non-ascii characters also need to be encoded.

IIRC, Gmail users will need to click a button in the location bar in order for mailto links to use Gmail.

February 23, 2024 at 01:19 pm - Permalink

Forum

Support

Gallery

Igor Pro 10

Learn More

Igor XOP Toolkit

Learn More

Igor NIDAQ Tools MX

Learn More

AltStyle によって変換されたページ (->オリジナル) /