Initialisation du projet Bolsa

This commit is contained in:
2026-07-01 10:56:55 +00:00
commit 849d7f1350
107 changed files with 14835 additions and 0 deletions
Executable
+2
View File
@@ -0,0 +1,2 @@
# Redirection automatique vers votre page 404 personnalisée
ErrorDocument 404 /php/404.php
+25
View File
@@ -0,0 +1,25 @@
"isin","ticker","yahoo_code","company_name","updated_at"
"US0000000BTC","BTC-USD","BTC-USD","Bitcoin USD","2026-06-16 19:53:44"
"US000000GOLD","GC=F","GC=F","Gold Ounce","2026-06-16 19:53:44"
"XC0009677409","BRN","BZ=F","Brent Crude Oil","2026-06-16 19:53:44"
"FR001400IZY7","CO","CO.PA","Casino Guichard Perrachon","2026-06-17 11:28:00"
"NL0015000H23","ASML","ASML.AS","ASML Holding","2026-06-17 11:35:00"
"DE0007100000","MBG","MBG.DE","Mercedes-Benz Group","2026-06-17 11:35:00"
"FR0000035081","ICAD","ICAD.PA","Icade","2026-06-17 11:35:00"
"FR0000031122","AIRP","AIRP.PA","Air France-KLM","2026-06-17 11:35:00"
"CH0038863350","NESN","NESN.SW","Nestlé SA","2026-06-17 11:35:00"
"CH0012005267","NOVN","NOVN.SW","Novartis AG","2026-06-17 11:35:00"
"GB00BP6MXD84","BP","BP.L","BP plc","2026-06-17 11:35:00"
"FR0010241639","ALM","ALM.PA","McPhy Energy","2026-06-17 11:35:00"
"FR0000053381","VLA","VLA.PA","Valneva SE","2026-06-17 11:35:00"
"LU1598081501","MT","MT.PA","ArcelorMittal","2026-06-17 11:35:00"
"DE000BAY0017","BAYN","BAYN.DE","Bayer AG","2026-06-17 11:38:00"
"DE000PASM111","P911","P911.DE","Porsche AG","2026-06-17 11:38:00"
"NL0000009355","UNA","UNA.AS","Unilever PLC","2026-06-17 11:38:00"
"DK0062498110","NOVOB","NOVO-B.CO","Novo Nordisk A/S","2026-06-17 11:38:00"
"FR0000073298","ALT","ALT.PA","Alten","2026-06-17 11:38:00"
"FR0000051732","ALTA","ALTA.PA","Altareit","2026-06-17 11:38:00"
"GB0007188757","RIO","RIO.L","Rio Tinto plc","2026-06-17 11:38:00"
"FR0000039109","SCHP","SCHP.PA","Seche Environnement","2026-06-17 11:41:00"
"KR7005930003","005930","005930.KS","Samsung Electronics Co., Ltd.","2026-06-20 16:50:52"
"KR7005380001","005380","005380.KS","Hyundai Motor Company","2026-06-20 16:51:45"
1 isin ticker yahoo_code company_name updated_at
2 US0000000BTC BTC-USD BTC-USD Bitcoin USD 2026-06-16 19:53:44
3 US000000GOLD GC=F GC=F Gold Ounce 2026-06-16 19:53:44
4 XC0009677409 BRN BZ=F Brent Crude Oil 2026-06-16 19:53:44
5 FR001400IZY7 CO CO.PA Casino Guichard Perrachon 2026-06-17 11:28:00
6 NL0015000H23 ASML ASML.AS ASML Holding 2026-06-17 11:35:00
7 DE0007100000 MBG MBG.DE Mercedes-Benz Group 2026-06-17 11:35:00
8 FR0000035081 ICAD ICAD.PA Icade 2026-06-17 11:35:00
9 FR0000031122 AIRP AIRP.PA Air France-KLM 2026-06-17 11:35:00
10 CH0038863350 NESN NESN.SW Nestlé SA 2026-06-17 11:35:00
11 CH0012005267 NOVN NOVN.SW Novartis AG 2026-06-17 11:35:00
12 GB00BP6MXD84 BP BP.L BP plc 2026-06-17 11:35:00
13 FR0010241639 ALM ALM.PA McPhy Energy 2026-06-17 11:35:00
14 FR0000053381 VLA VLA.PA Valneva SE 2026-06-17 11:35:00
15 LU1598081501 MT MT.PA ArcelorMittal 2026-06-17 11:35:00
16 DE000BAY0017 BAYN BAYN.DE Bayer AG 2026-06-17 11:38:00
17 DE000PASM111 P911 P911.DE Porsche AG 2026-06-17 11:38:00
18 NL0000009355 UNA UNA.AS Unilever PLC 2026-06-17 11:38:00
19 DK0062498110 NOVOB NOVO-B.CO Novo Nordisk A/S 2026-06-17 11:38:00
20 FR0000073298 ALT ALT.PA Alten 2026-06-17 11:38:00
21 FR0000051732 ALTA ALTA.PA Altareit 2026-06-17 11:38:00
22 GB0007188757 RIO RIO.L Rio Tinto plc 2026-06-17 11:38:00
23 FR0000039109 SCHP SCHP.PA Seche Environnement 2026-06-17 11:41:00
24 KR7005930003 005930 005930.KS Samsung Electronics Co., Ltd. 2026-06-20 16:50:52
25 KR7005380001 005380 005380.KS Hyundai Motor Company 2026-06-20 16:51:45
+37
View File
@@ -0,0 +1,37 @@
"isin","ticker","yahoo_code","company_name","updated_at"
"ES0105025003","MRL","MRL.MC","Merlin Properties","2026-06-16 15:14:37"
"ES0105027009","LOG","LOG.MC","Logista","2026-06-16 15:14:37"
"ES0105046009","AENA","AENA.MC","Aena","2026-06-16 15:14:37"
"ES0105066007","CLNX","CLNX.MC","Cellnex Telecom","2026-06-16 15:14:37"
"ES0105563003","ANE","ANE.MC","Acciona Energía","2026-06-16 15:17:14"
"ES0105777017","PUIG","PUIG.MC","Puig Brands","2026-06-16 15:14:37"
"ES0109067019","AMS","AMS.MC","Amadeus IT Group","2026-06-16 15:14:37"
"ES0113211835","BBVA","BBVA.MC","BBVA","2026-06-16 15:14:37"
"ES0113679I37","BKT","BKT.MC","Bankinter","2026-06-16 15:14:37"
"ES0113860A34","SAB","SAB.MC","Banco Sabadell","2026-06-16 15:14:37"
"ES0113900J37","SAN","SAN.MC","Banco Santander","2026-06-16 15:14:37"
"ES0116870314","NTGY","NTGY.MC","Naturgy Energy Group","2026-06-16 15:14:37"
"ES0118594417","IDR","IDR.MC","Indra Sistemas","2026-06-16 15:14:37"
"ES0124244E34","MAP","MAP.MC","Mapfre","2026-06-16 15:14:37"
"ES0125220311","ANA","ANA.MC","Acciona","2026-06-16 15:14:37"
"ES0130670112","ELE","ELE.MC","Endesa","2026-06-16 15:14:37"
"ES0130960018","ENG","ENG.MC","Enagás","2026-06-16 15:14:37"
"ES0132105018","ACX","ACX.MC","Acerinox","2026-06-16 15:14:37"
"ES0137650018","FDR","FDR.MC","Fluidra","2026-06-16 15:14:37"
"ES0139140174","COL","COL.MC","Colonial SFL, SOCIMI, S.A.","2026-06-17 08:00:34"
"ES0140609019","CABK","CABK.MC","CaixaBank","2026-06-16 15:14:37"
"ES0144580Y14","IBE","IBE.MC","Iberdrola","2026-06-16 15:14:37"
"ES0148396007","ITX","ITX.MC","Inditex","2026-06-16 15:14:37"
"ES0157261019","ROVI","ROVI.MC","Laboratorios Farmacéuticos Rovi","2026-06-16 15:14:37"
"ES0165386014","SLR","SLR.MC","Solaria Energía","2026-06-16 15:14:37"
"ES0167050915","ACS","ACS.MC","ACS","2026-06-16 15:14:37"
"ES0171996087","GRF","GRF.MC","Grifols","2026-06-16 15:14:37"
"ES0173093024","RED","RED.MC","Redeia","2026-06-16 15:14:37"
"ES0173516115","REP","REP.MC","Repsol","2026-06-16 15:14:37"
"ES0177542018","IAG","IAG.MC","International Consolidated Airlines Group (IAG)","2026-06-17 07:58:31"
"ES0178430E18","TEF","TEF.MC","Telefónica","2026-06-16 15:14:37"
"ES0180907000","UNI","UNI.MC","Unicaja Banco","2026-06-16 15:14:37"
"ES0182870214","SCYR","SCYR.MC","Sacyr","2026-06-16 15:14:37"
"ES0184262212","VIS","VIS.MC","Viscofan","2026-06-16 15:14:37"
"LU1598757687","MT","MT.AS","ArcelorMittal","2026-06-16 15:14:37"
"NL0015001FS8","FER","FER.MC","Ferrovial","2026-06-16 15:14:37"
1 isin ticker yahoo_code company_name updated_at
2 ES0105025003 MRL MRL.MC Merlin Properties 2026-06-16 15:14:37
3 ES0105027009 LOG LOG.MC Logista 2026-06-16 15:14:37
4 ES0105046009 AENA AENA.MC Aena 2026-06-16 15:14:37
5 ES0105066007 CLNX CLNX.MC Cellnex Telecom 2026-06-16 15:14:37
6 ES0105563003 ANE ANE.MC Acciona Energía 2026-06-16 15:17:14
7 ES0105777017 PUIG PUIG.MC Puig Brands 2026-06-16 15:14:37
8 ES0109067019 AMS AMS.MC Amadeus IT Group 2026-06-16 15:14:37
9 ES0113211835 BBVA BBVA.MC BBVA 2026-06-16 15:14:37
10 ES0113679I37 BKT BKT.MC Bankinter 2026-06-16 15:14:37
11 ES0113860A34 SAB SAB.MC Banco Sabadell 2026-06-16 15:14:37
12 ES0113900J37 SAN SAN.MC Banco Santander 2026-06-16 15:14:37
13 ES0116870314 NTGY NTGY.MC Naturgy Energy Group 2026-06-16 15:14:37
14 ES0118594417 IDR IDR.MC Indra Sistemas 2026-06-16 15:14:37
15 ES0124244E34 MAP MAP.MC Mapfre 2026-06-16 15:14:37
16 ES0125220311 ANA ANA.MC Acciona 2026-06-16 15:14:37
17 ES0130670112 ELE ELE.MC Endesa 2026-06-16 15:14:37
18 ES0130960018 ENG ENG.MC Enagás 2026-06-16 15:14:37
19 ES0132105018 ACX ACX.MC Acerinox 2026-06-16 15:14:37
20 ES0137650018 FDR FDR.MC Fluidra 2026-06-16 15:14:37
21 ES0139140174 COL COL.MC Colonial SFL, SOCIMI, S.A. 2026-06-17 08:00:34
22 ES0140609019 CABK CABK.MC CaixaBank 2026-06-16 15:14:37
23 ES0144580Y14 IBE IBE.MC Iberdrola 2026-06-16 15:14:37
24 ES0148396007 ITX ITX.MC Inditex 2026-06-16 15:14:37
25 ES0157261019 ROVI ROVI.MC Laboratorios Farmacéuticos Rovi 2026-06-16 15:14:37
26 ES0165386014 SLR SLR.MC Solaria Energía 2026-06-16 15:14:37
27 ES0167050915 ACS ACS.MC ACS 2026-06-16 15:14:37
28 ES0171996087 GRF GRF.MC Grifols 2026-06-16 15:14:37
29 ES0173093024 RED RED.MC Redeia 2026-06-16 15:14:37
30 ES0173516115 REP REP.MC Repsol 2026-06-16 15:14:37
31 ES0177542018 IAG IAG.MC International Consolidated Airlines Group (IAG) 2026-06-17 07:58:31
32 ES0178430E18 TEF TEF.MC Telefónica 2026-06-16 15:14:37
33 ES0180907000 UNI UNI.MC Unicaja Banco 2026-06-16 15:14:37
34 ES0182870214 SCYR SCYR.MC Sacyr 2026-06-16 15:14:37
35 ES0184262212 VIS VIS.MC Viscofan 2026-06-16 15:14:37
36 LU1598757687 MT MT.AS ArcelorMittal 2026-06-16 15:14:37
37 NL0015001FS8 FER FER.MC Ferrovial 2026-06-16 15:14:37
+98
View File
@@ -0,0 +1,98 @@
"isin","ticker","yahoo_code","company_name","updated_at"
"BMG611881019","LBTYA","LBTYA","Liberty Global plc Class A","2026-06-16 16:09:50"
"CH0114405324","GRMN","GRMN","Garmin Ltd.","2026-06-16 16:14:40"
"US00724F1012","ADBE","ADBE","Adobe Inc.","2026-06-16 16:12:31"
"US0079031078","AMD","AMD","Advanced Micro Devices Inc.","2026-06-16 15:39:17"
"US0138721065","AA","AA","Aligned Technology (Altera)","2026-06-16 15:39:17"
"US02079K1079","GOOG","GOOG","Alphabet Inc. Class C","2026-06-16 15:39:17"
"US02079K3059","GOOGL","GOOGL","Alphabet Inc. Class A","2026-06-16 15:54:59"
"US0258161092","AXP","AXP","American Express Co","2026-06-16 15:39:17"
"US0311621009","AMGN","AMGN","Amgen Inc.","2026-06-16 15:39:17"
"US0378331005","AAPL","AAPL","Apple Inc.","2026-06-16 15:39:17"
"US0970231058","BA","BA","Boeing Co","2026-06-16 15:39:17"
"US11135F1012","AVGO","AVGO","Broadcom Inc.","2026-06-16 16:17:39"
"US1266501006","CVS","CVS","Cisco Systems Inc.","2026-06-16 15:39:17"
"US1431301027","KMX","KMX","Caterpillar Inc.","2026-06-16 15:39:17"
"US1667641005","CVX","CVX","Chevron Corp.","2026-06-16 15:39:17"
"US1912161007","KO","KO","Coca-Cola Co","2026-06-16 15:39:17"
"US1924461023","CTSH","CTSH","Cognizant Technology Solutions","2026-06-16 15:39:17"
"US20030N1019","CMCSA","CMCSA","Comcast Corp. Class A","2026-06-16 15:39:17"
"US2058871029","CAG","CAG","Conagra Brands Inc.","2026-06-16 15:39:17"
"US2193501051","GLW","GLW","Constellation Energy Corp.","2026-06-16 15:39:17"
"US22160K1051","COST","COST","Costco Wholesale Corp.","2026-06-16 15:39:17"
"US22822V1017","CCI","CCI","Crown Castle Inc.","2026-06-16 15:39:17"
"US2358511028","DHR","DHR","Danaher Corp.","2026-06-16 15:39:17"
"US2566771059","DG","DG","Dollar Tree Inc.","2026-06-16 15:39:17"
"US25809K1051","DASH","DASH","Dash (DoorDash) Inc. Class A","2026-06-16 16:18:37"
"US2605571031","DOW","DOW","Dow Inc.","2026-06-16 15:39:17"
"US2786421030","EBAY","EBAY","EBay Inc.","2026-06-16 16:16:40"
"US2787681061","SATS","SATS","EchoStar Corporation","2026-06-16 16:35:23"
"US29444U7000","EQIX","EQIX","Equinix Inc.","2026-06-16 16:15:41"
"US30212P3038","EXPE","EXPE","Fastenal Co.","2026-06-16 15:39:17"
"US30303M1027","META","META","Meta Platforms Inc. Class A","2026-06-16 15:39:17"
"US31620M1062","FIS","FIS","Fifth Third Bancorp","2026-06-16 15:39:17"
"US31847R1023","FAF","FAF","First Solar Inc.","2026-06-16 15:39:17"
"US3377381088","FISV","FISV","Fiserv Inc.","2026-06-16 15:39:17"
"US3696041033","GE","GE","General Electric Co","2026-06-16 15:39:17"
"US3755581036","GILD","GILD","Gilead Sciences Inc.","2026-06-16 16:13:38"
"US4180561072","HAS","HAS","Hasbro Inc.","2026-06-16 15:39:17"
"US4385161066","HON","HON","Honeywell International Inc.","2026-06-16 15:39:17"
"US45167R1041","IEX","IEX","Idexx Laboratories Inc.","2026-06-16 15:39:17"
"US4523081093","ITW","ITW","Illumina Inc.","2026-06-16 15:39:17"
"US45337C1027","INCY","INCY","Incyte Corp.","2026-06-16 16:11:14"
"US4581401001","INTC","INTC","Intel Corp.","2026-06-16 15:39:17"
"US4612021034","INTU","INTU","Intuitive Surgical Inc.","2026-06-16 15:39:17"
"US4781601046","JNJ","JNJ","Johnson & Johnson","2026-06-16 15:39:17"
"US48123V1026","ZD","ZD","Keurig Dr Pepper Inc.","2026-06-16 15:39:17"
"US4824801009","KLAC","KLAC","KLA Corp.","2026-06-16 15:39:17"
"US48251W1045","KKR","KKR","Lam Research Corp.","2026-06-16 15:39:17"
"US5007541064","KHC","KHC","Kraft Heinz Co.","2026-06-16 15:39:17"
"US5312297550","FWONK","FWONK","Liberty Media Corp. Formula One","2026-06-16 16:05:55"
"US5324571083","LLY","LLY","Lilly (Eli) & Co","2026-06-16 15:39:17"
"US5486611073","LOW","LOW","Lululemon Athletica Inc.","2026-06-16 15:39:17"
"US56585A1025","MPC","MPC","Marriott International Class A","2026-06-16 15:39:17"
"US5801351017","MCD","MCD","McDonald's Corp.","2026-06-16 15:39:17"
"US58155Q1031","MCK","MCK","McKesson Corp.","2026-06-16 16:04:40"
"US58933Y1055","MRK","MRK","Merck & Co. Inc.","2026-06-16 15:39:17"
"US5949181045","MSFT","MSFT","Microsoft Corp.","2026-06-16 15:39:17"
"US5951121038","MU","MU","Micron Technology Inc.","2026-06-16 15:39:17"
"US6092071058","MDLZ","MDLZ","Mondelez International Inc.","2026-06-16 15:39:17"
"US62944T1051","NVR","NVR","Netease Inc. ADR","2026-06-16 15:39:17"
"US6516391066","NEM","NEM","Newcom Group (Newmont)","2026-06-16 15:39:17"
"US65339F1012","NEE","NEE","NextEra Energy Inc.","2026-06-16 15:39:17"
"US6541061031","NKE","NKE","Nike Inc. Class B","2026-06-16 15:39:17"
"US67066G1040","NVDA","NVDA","Nvidia Corp","2026-06-16 16:28:51"
"US68389X1054","ORCL","ORCL","O'Reilly Automotive Inc.","2026-06-16 15:39:17"
"US6935061076","PPG","PPG","Paccar Inc.","2026-06-16 15:39:17"
"US70450Y1038","PYPL","PYPL","PayPal Holdings Inc.","2026-06-16 15:39:17"
"US7134481081","PEP","PEP","PepsiCo Inc.","2026-06-16 15:39:17"
"US7170811035","PFE","PFE","Pfizer Inc.","2026-06-16 15:39:17"
"US74251V1026","PFG","PFG","Prudential Financial Inc.","2026-06-16 15:39:17"
"US7458671010","PHM","PHM","PulteGroup Inc.","2026-06-16 16:30:09"
"US7475251036","QCOM","QCOM","Qualcomm Inc.","2026-06-16 15:39:17"
"US7561091049","O","O","Realty Income Corp.","2026-06-16 15:39:17"
"US78409V1044","SPGI","SPGI","S&P Global Inc.","2026-06-16 15:39:17"
"US8318652091","AOS","AOS","Smith (A.O.) Corp.","2026-06-16 16:02:06"
"US8552441094","SBUX","SBUX","Starbucks Corp.","2026-06-16 15:59:41"
"US8636671013","SYK","SYK","Stryker Corp.","2026-06-16 15:39:17"
"US8679141031","STI","STI","Sunrun Inc.","2026-06-16 15:39:17"
"US8718291078","SYY","SYY","Sysco Corp.","2026-06-16 15:39:17"
"US8725901040","TMUS","TMUS","T-Mobile US Inc.","2026-06-16 15:39:17"
"US87612E1064","TGT","TGT","Target Corp.","2026-06-16 15:39:17"
"US88160R1014","TSLA","TSLA","Tesla Inc.","2026-06-16 15:39:17"
"US8825081040","TXN","TXN","Texas Instruments Inc.","2026-06-16 15:39:17"
"US8923561067","TSCO","TSCO","Tractor Supply Co.","2026-06-16 15:39:17"
"US9113121068","UPS","UPS","United Parcel Service Class B","2026-06-16 15:39:17"
"US91324P1021","UNH","UNH","UnitedHealth Group Inc.","2026-06-16 15:39:17"
"US92343V1044","VZ","VZ","Verisign Inc.","2026-06-16 15:39:17"
"US92345Y1064","VRSK","VRSK","Verisk Analytics Inc. Class A","2026-06-16 15:39:17"
"US92532F1003","VRTX","VRTX","Vertex Pharmaceuticals Inc.","2026-06-16 15:39:17"
"US92826C8394","V","V","Visa Inc. Class A","2026-06-16 15:39:17"
"US9311421039","WMT","WMT","Walmart Inc.","2026-06-16 15:39:17"
"US94106L1098","WM","WM","Waste Management Inc.","2026-06-16 15:39:17"
"US9497461015","WFC","WFC","Wells Fargo & Co.","2026-06-16 15:39:17"
"US95040Q1040","WELL","WELL","Western Digital Corp.","2026-06-16 15:39:17"
"US98389B1008","XEL","XEL","Xcel Energy Inc.","2026-06-16 15:40:07"
"US9884981013","YUM","YUM","Yum! Brands Inc.","2026-06-16 15:39:17"
"US98956P1021","ZBH","ZBH","Zebra Technologies Corp. Class A","2026-06-16 15:39:17"
"US98980L1017","ZM","ZM","Zoom Video Communications","2026-06-16 15:39:17"
1 isin ticker yahoo_code company_name updated_at
2 BMG611881019 LBTYA LBTYA Liberty Global plc Class A 2026-06-16 16:09:50
3 CH0114405324 GRMN GRMN Garmin Ltd. 2026-06-16 16:14:40
4 US00724F1012 ADBE ADBE Adobe Inc. 2026-06-16 16:12:31
5 US0079031078 AMD AMD Advanced Micro Devices Inc. 2026-06-16 15:39:17
6 US0138721065 AA AA Aligned Technology (Altera) 2026-06-16 15:39:17
7 US02079K1079 GOOG GOOG Alphabet Inc. Class C 2026-06-16 15:39:17
8 US02079K3059 GOOGL GOOGL Alphabet Inc. Class A 2026-06-16 15:54:59
9 US0258161092 AXP AXP American Express Co 2026-06-16 15:39:17
10 US0311621009 AMGN AMGN Amgen Inc. 2026-06-16 15:39:17
11 US0378331005 AAPL AAPL Apple Inc. 2026-06-16 15:39:17
12 US0970231058 BA BA Boeing Co 2026-06-16 15:39:17
13 US11135F1012 AVGO AVGO Broadcom Inc. 2026-06-16 16:17:39
14 US1266501006 CVS CVS Cisco Systems Inc. 2026-06-16 15:39:17
15 US1431301027 KMX KMX Caterpillar Inc. 2026-06-16 15:39:17
16 US1667641005 CVX CVX Chevron Corp. 2026-06-16 15:39:17
17 US1912161007 KO KO Coca-Cola Co 2026-06-16 15:39:17
18 US1924461023 CTSH CTSH Cognizant Technology Solutions 2026-06-16 15:39:17
19 US20030N1019 CMCSA CMCSA Comcast Corp. Class A 2026-06-16 15:39:17
20 US2058871029 CAG CAG Conagra Brands Inc. 2026-06-16 15:39:17
21 US2193501051 GLW GLW Constellation Energy Corp. 2026-06-16 15:39:17
22 US22160K1051 COST COST Costco Wholesale Corp. 2026-06-16 15:39:17
23 US22822V1017 CCI CCI Crown Castle Inc. 2026-06-16 15:39:17
24 US2358511028 DHR DHR Danaher Corp. 2026-06-16 15:39:17
25 US2566771059 DG DG Dollar Tree Inc. 2026-06-16 15:39:17
26 US25809K1051 DASH DASH Dash (DoorDash) Inc. Class A 2026-06-16 16:18:37
27 US2605571031 DOW DOW Dow Inc. 2026-06-16 15:39:17
28 US2786421030 EBAY EBAY EBay Inc. 2026-06-16 16:16:40
29 US2787681061 SATS SATS EchoStar Corporation 2026-06-16 16:35:23
30 US29444U7000 EQIX EQIX Equinix Inc. 2026-06-16 16:15:41
31 US30212P3038 EXPE EXPE Fastenal Co. 2026-06-16 15:39:17
32 US30303M1027 META META Meta Platforms Inc. Class A 2026-06-16 15:39:17
33 US31620M1062 FIS FIS Fifth Third Bancorp 2026-06-16 15:39:17
34 US31847R1023 FAF FAF First Solar Inc. 2026-06-16 15:39:17
35 US3377381088 FISV FISV Fiserv Inc. 2026-06-16 15:39:17
36 US3696041033 GE GE General Electric Co 2026-06-16 15:39:17
37 US3755581036 GILD GILD Gilead Sciences Inc. 2026-06-16 16:13:38
38 US4180561072 HAS HAS Hasbro Inc. 2026-06-16 15:39:17
39 US4385161066 HON HON Honeywell International Inc. 2026-06-16 15:39:17
40 US45167R1041 IEX IEX Idexx Laboratories Inc. 2026-06-16 15:39:17
41 US4523081093 ITW ITW Illumina Inc. 2026-06-16 15:39:17
42 US45337C1027 INCY INCY Incyte Corp. 2026-06-16 16:11:14
43 US4581401001 INTC INTC Intel Corp. 2026-06-16 15:39:17
44 US4612021034 INTU INTU Intuitive Surgical Inc. 2026-06-16 15:39:17
45 US4781601046 JNJ JNJ Johnson & Johnson 2026-06-16 15:39:17
46 US48123V1026 ZD ZD Keurig Dr Pepper Inc. 2026-06-16 15:39:17
47 US4824801009 KLAC KLAC KLA Corp. 2026-06-16 15:39:17
48 US48251W1045 KKR KKR Lam Research Corp. 2026-06-16 15:39:17
49 US5007541064 KHC KHC Kraft Heinz Co. 2026-06-16 15:39:17
50 US5312297550 FWONK FWONK Liberty Media Corp. Formula One 2026-06-16 16:05:55
51 US5324571083 LLY LLY Lilly (Eli) & Co 2026-06-16 15:39:17
52 US5486611073 LOW LOW Lululemon Athletica Inc. 2026-06-16 15:39:17
53 US56585A1025 MPC MPC Marriott International Class A 2026-06-16 15:39:17
54 US5801351017 MCD MCD McDonald's Corp. 2026-06-16 15:39:17
55 US58155Q1031 MCK MCK McKesson Corp. 2026-06-16 16:04:40
56 US58933Y1055 MRK MRK Merck & Co. Inc. 2026-06-16 15:39:17
57 US5949181045 MSFT MSFT Microsoft Corp. 2026-06-16 15:39:17
58 US5951121038 MU MU Micron Technology Inc. 2026-06-16 15:39:17
59 US6092071058 MDLZ MDLZ Mondelez International Inc. 2026-06-16 15:39:17
60 US62944T1051 NVR NVR Netease Inc. ADR 2026-06-16 15:39:17
61 US6516391066 NEM NEM Newcom Group (Newmont) 2026-06-16 15:39:17
62 US65339F1012 NEE NEE NextEra Energy Inc. 2026-06-16 15:39:17
63 US6541061031 NKE NKE Nike Inc. Class B 2026-06-16 15:39:17
64 US67066G1040 NVDA NVDA Nvidia Corp 2026-06-16 16:28:51
65 US68389X1054 ORCL ORCL O'Reilly Automotive Inc. 2026-06-16 15:39:17
66 US6935061076 PPG PPG Paccar Inc. 2026-06-16 15:39:17
67 US70450Y1038 PYPL PYPL PayPal Holdings Inc. 2026-06-16 15:39:17
68 US7134481081 PEP PEP PepsiCo Inc. 2026-06-16 15:39:17
69 US7170811035 PFE PFE Pfizer Inc. 2026-06-16 15:39:17
70 US74251V1026 PFG PFG Prudential Financial Inc. 2026-06-16 15:39:17
71 US7458671010 PHM PHM PulteGroup Inc. 2026-06-16 16:30:09
72 US7475251036 QCOM QCOM Qualcomm Inc. 2026-06-16 15:39:17
73 US7561091049 O O Realty Income Corp. 2026-06-16 15:39:17
74 US78409V1044 SPGI SPGI S&P Global Inc. 2026-06-16 15:39:17
75 US8318652091 AOS AOS Smith (A.O.) Corp. 2026-06-16 16:02:06
76 US8552441094 SBUX SBUX Starbucks Corp. 2026-06-16 15:59:41
77 US8636671013 SYK SYK Stryker Corp. 2026-06-16 15:39:17
78 US8679141031 STI STI Sunrun Inc. 2026-06-16 15:39:17
79 US8718291078 SYY SYY Sysco Corp. 2026-06-16 15:39:17
80 US8725901040 TMUS TMUS T-Mobile US Inc. 2026-06-16 15:39:17
81 US87612E1064 TGT TGT Target Corp. 2026-06-16 15:39:17
82 US88160R1014 TSLA TSLA Tesla Inc. 2026-06-16 15:39:17
83 US8825081040 TXN TXN Texas Instruments Inc. 2026-06-16 15:39:17
84 US8923561067 TSCO TSCO Tractor Supply Co. 2026-06-16 15:39:17
85 US9113121068 UPS UPS United Parcel Service Class B 2026-06-16 15:39:17
86 US91324P1021 UNH UNH UnitedHealth Group Inc. 2026-06-16 15:39:17
87 US92343V1044 VZ VZ Verisign Inc. 2026-06-16 15:39:17
88 US92345Y1064 VRSK VRSK Verisk Analytics Inc. Class A 2026-06-16 15:39:17
89 US92532F1003 VRTX VRTX Vertex Pharmaceuticals Inc. 2026-06-16 15:39:17
90 US92826C8394 V V Visa Inc. Class A 2026-06-16 15:39:17
91 US9311421039 WMT WMT Walmart Inc. 2026-06-16 15:39:17
92 US94106L1098 WM WM Waste Management Inc. 2026-06-16 15:39:17
93 US9497461015 WFC WFC Wells Fargo & Co. 2026-06-16 15:39:17
94 US95040Q1040 WELL WELL Western Digital Corp. 2026-06-16 15:39:17
95 US98389B1008 XEL XEL Xcel Energy Inc. 2026-06-16 15:40:07
96 US9884981013 YUM YUM Yum! Brands Inc. 2026-06-16 15:39:17
97 US98956P1021 ZBH ZBH Zebra Technologies Corp. Class A 2026-06-16 15:39:17
98 US98980L1017 ZM ZM Zoom Video Communications 2026-06-16 15:39:17
+121
View File
@@ -0,0 +1,121 @@
"isin","ticker","yahoo_code","company_name","updated_at"
"BE0003470755","SOLB","SOLB.BR","SOLVAY","2026-06-16 14:39:36"
"FR0000031577","VIRP","VIRP.PA","VIRBAC","2026-06-16 14:39:36"
"FR0000031775","VCT","VCT.PA","VICAT","2026-06-16 14:39:36"
"FR0000035081","ICAD","ICAD.PA","ICADE","2026-06-16 14:39:36"
"FR0000039299","BOL","BOL.PA","BOLLORE","2026-06-16 14:39:36"
"FR0000044448","NEX","NEX.PA","NEXANS","2026-06-16 14:39:36"
"FR0000045072","ACA","ACA.PA","CREDIT AGRICOLE","2026-06-16 14:39:36"
"FR0000050353","FII","FII.PA","LISI","2026-06-16 14:39:36"
"FR0000050809","SOP","SOP.PA","SOPRA STERIA GROUP","2026-06-16 14:39:36"
"FR0000051807","TEP","TEP.PA","TELEPERFORMANCE","2026-06-16 14:39:36"
"FR0000052292","RMS","RMS.PA","HERMES INTL","2026-06-16 14:39:36"
"FR0000053225","MMT","MMT.PA","METROPOLE TV","2026-06-16 14:39:36"
"FR0000053381","DBG","DBG.PA","DERICHEBOURG","2026-06-16 14:39:36"
"FR0000054470","UBI","UBI.PA","UBISOFT ENTERTAIN","2026-06-16 14:39:36"
"FR0000054900","TFI","TFI.PA","TF1","2026-06-16 14:39:36"
"FR0000062671","EXA","EXA.PA","EXAIL TECHNOLOGIES","2026-06-16 14:39:36"
"FR0000064578","COV","COV.PA","COVIVIO","2026-06-16 14:39:36"
"FR0000071946","ATE","ATE.PA","ALTEN","2026-06-16 14:39:36"
"FR0000073272","SAF","SAF.PA","SAFRAN","2026-06-16 14:39:36"
"FR0000073298","IPS","IPS.PA","IPSOS","2026-06-16 14:39:36"
"FR0000077919","DEC","DEC.PA","JCDECAUX","2026-06-16 14:39:36"
"FR0000120073","AI","AI.PA","AIR LIQUIDE","2026-06-16 14:39:36"
"FR0000120172","CA","CA.PA","CARREFOUR","2026-06-16 14:39:36"
"FR0000120271","TTE","TTE.PA","TOTALENERGIES","2026-06-16 14:39:36"
"FR0000120321","OR","OR.PA","L'OREAL","2026-06-16 14:39:36"
"FR0000120404","AC","AC.PA","ACCOR","2026-06-16 14:39:36"
"FR0000120503","EN","EN.PA","BOUYGUES","2026-06-16 14:39:36"
"FR0000120578","SAN","SAN.PA","SANOFI","2026-06-16 14:39:36"
"FR0000120628","CS","CS.PA","AXA","2026-06-16 14:39:36"
"FR0000120644","BN","BN.PA","DANONE","2026-06-16 14:39:36"
"FR0000120693","RI","RI.PA","PERNOD RICARD","2026-06-16 14:39:36"
"FR0000120859","NK","NK.PA","IMERYS","2026-06-16 14:39:36"
"FR0000120966","BB","BB.PA","BIC","2026-06-16 14:39:36"
"FR0000121014","MC","MC.PA","LVMH","2026-06-16 14:39:36"
"FR0000121121","RF","RF.PA","EURAZEO","2026-06-16 14:39:36"
"FR0000121147","FRVIA","FRVIA.PA","FORVIA","2026-06-16 14:39:36"
"FR0000121204","MF","MF.PA","WENDEL","2026-06-16 14:39:36"
"FR0000121220","SW","SW.PA","SODEXO","2026-06-16 14:39:36"
"FR0000121329","HO","HO.PA","THALES","2026-06-16 14:39:36"
"FR0000121485","KER","KER.PA","KERING","2026-06-16 14:39:36"
"FR0000121667","EL","EL.PA","ESSILORLUXOTTICA","2026-06-16 14:39:36"
"FR0000121709","SK","SK.PA","S.E.B.","2026-06-16 14:39:36"
"FR0000121964","LI","LI.PA","KLEPIERRE","2026-06-16 14:39:36"
"FR0000121972","SU","SU.PA","SCHNEIDER ELECTRIC","2026-06-16 14:39:36"
"FR0000124141","VIE","VIE.PA","VEOLIA ENVIRON.","2026-06-16 14:39:36"
"FR0000124570","OPM","OPM.PA","OPMOBILITY","2026-06-16 14:39:36"
"FR0000125007","SGO","SGO.PA","SAINT GOBAIN","2026-06-16 14:39:36"
"FR0000125338","CAP","CAP.PA","CAPGEMINI","2026-06-16 14:39:36"
"FR0000125486","DG","DG.PA","VINCI","2026-06-16 14:39:36"
"FR0000127771","VIV","VIV.PA","VIVENDI SE","2026-06-16 14:39:36"
"FR0000130395","RCO","RCO.PA","REMY COINTREAU","2026-06-16 14:39:36"
"FR0000130452","FGR","FGR.PA","EIFFAGE","2026-06-16 14:39:36"
"FR0000130577","PUB","PUB.PA","PUBLICIS GROUPE SA","2026-06-16 14:39:36"
"FR0000130809","GLE","GLE.PA","SOCIETE GENERALE","2026-06-16 14:39:36"
"FR0000131104","BNP","BNP.PA","BNP PARIBAS ACT.A","2026-06-16 14:39:36"
"FR0000131757","ERA","ERA.PA","ERAMET","2026-06-16 14:39:36"
"FR0000131906","RNO","RNO.PA","RENAULT","2026-06-16 14:39:36"
"FR0000133308","ORA","ORA.PA","ORANGE","2026-06-16 14:39:36"
"FR0004024222","ITP","ITP.PA","INTERPARFUMS","2026-06-16 14:39:36"
"FR0004056851","VLA","VLA.PA","VALNEVA","2026-06-16 14:39:36"
"FR0004065605","FR0004065605","FR0004065605.SG","MEDINCELL","2026-06-16 14:39:36"
"FR0004125920","AMUN","AMUN.PA","AMUNDI","2026-06-16 14:39:36"
"FR0005691656","TRI","TRI.PA","TRIGANO","2026-06-16 14:39:36"
"FR0006174348","BVI","BVI.PA","BUREAU VERITAS","2026-06-16 14:39:36"
"FR0010040865","GFC","GFC.PA","GECINA","2026-06-16 14:39:36"
"FR0010112524","NXI","NXI.PA","NEXITY","2026-06-16 14:39:36"
"FR0010208488","ENGI","ENGI.PA","ENGIE","2026-06-16 14:39:36"
"FR0010220475","ALO","ALO.PA","ALSTOM","2026-06-16 14:39:36"
"FR0010221234","ETL","ETL.PA","EUTELSAT COMMUNIC.","2026-06-16 14:39:36"
"FR0010241638","MERY","MERY.PA","MERCIALYS","2026-06-16 14:39:36"
"FR0010259150","IPN","IPN.PA","IPSEN","2026-06-16 14:39:36"
"FR0010282822","VU","VU.PA","Vusion","2026-06-16 14:39:36"
"FR0010307819","LR","LR.PA","LEGRAND","2026-06-16 14:39:36"
"FR0010313833","AKE","AKE.PA","ARKEMA","2026-06-16 14:39:36"
"FR0010340141","ADP","ADP.PA","ADP","2026-06-16 14:39:36"
"FR0010386334","CLARI","CLARI.PA","CLARIANE","2026-06-16 14:39:36"
"FR0010411983","SCR","SCR.PA","SCOR SE","2026-06-16 14:39:36"
"FR0010417345","DBV","DBV.PA","DBV TECHNOLOGIES","2026-06-16 14:39:36"
"FR0010451203","RXL","RXL.PA","REXEL","2026-06-16 14:39:36"
"FR0010481960","ARG","ARG.PA","ARGAN","2026-06-16 14:39:36"
"FR0010533075","GET","GET.PA","GETLINK SE","2026-06-16 14:39:36"
"FR0010667147","COFA","COFA.PA","COFACE","2026-06-16 14:39:36"
"FR0010828137","CARM","CARM.PA","CARMILA","2026-06-16 14:39:36"
"FR0010908533","EDEN","EDEN.PA","EDENRED","2026-06-16 14:39:36"
"FR0010929125","IDL","IDL.PA","ID LOGISTICS GROUP","2026-06-16 14:39:36"
"FR0011341205","NANO","NANO.PA","NANOBIOTIX","2026-06-16 14:39:36"
"FR0011726835","GTT","GTT.PA","GTT","2026-06-16 14:39:36"
"FR0011950732","ELIOR","ELIOR.PA","ELIOR GROUP","2026-06-16 14:39:36"
"FR0012333284","ABVX","ABVX.PA","ABIVAX","2026-06-16 14:39:36"
"FR0012435121","ELIS","ELIS.PA","ELIS","2026-06-16 14:39:36"
"FR0012757854","SPIE","SPIE.PA","SPIE","2026-06-16 14:39:36"
"FR0013154002","DIM","DIM.PA","SARTORIUS STED BIO","2026-06-16 14:39:36"
"FR0013176526","FR","FR.PA","VALEO","2026-06-16 14:39:36"
"FR0013227113","SOI","SOI.PA","SOITEC","2026-06-16 14:39:36"
"FR0013258662","AYV","AYV.PA","AYVENS","2026-06-16 14:39:36"
"FR0013269123","RUI","RUI.PA","RUBIS","2026-06-16 14:39:36"
"FR0013280286","BIM","BIM.PA","BIOMERIEUX","2026-06-16 14:39:36"
"FR0013326246","URW","URW.PA","UNIBAIL-RODAMCO-WE","2026-06-16 14:39:36"
"FR0013447729","VRLA","VRLA.PA","VERALLIA","2026-06-16 14:40:56"
"FR0013451333","FDJU","FDJU.PA","FDJ UNITED","2026-06-16 14:39:36"
"FR0013506730","VK","VK.PA","VALLOUREC","2026-06-16 14:39:36"
"FR0014000MR3","ERF","ERF.PA","EUROFINS SCIENT.","2026-06-16 14:39:36"
"FR0014003TT8","DSY","DSY.PA","DASSAULT SYSTEMES","2026-06-16 14:39:36"
"FR0014004L86","AM","AM.PA","DASSAULT AVIATION","2026-06-16 14:39:36"
"FR001400AJ45","ML","ML.PA","MICHELIN","2026-06-16 14:39:36"
"FR001400J770","AF","AF.PA","AIR FRANCE -KLM","2026-06-16 14:39:36"
"FR001400NLM4","EMEIS","EMEIS.PA","EMEIS","2026-06-16 14:39:36"
"FR001400PVN6","VIRI","VIRI.PA","VIRIDIEN","2026-06-16 14:39:36"
"FR001400Q9V2","EXENS","EXENS.PA","EXOSENS","2026-06-16 14:39:36"
"FR001400X2S4","ATO","ATO.PA","ATOS","2026-06-16 14:39:36"
"FR00140182K6","WLN","WLN.PA","WORLDLINE","2026-06-16 14:39:36"
"LU0088087324","SESG","SESG.PA","SES","2026-06-16 14:39:36"
"LU0569974404","APAM","APAM.AS","APERAM","2026-06-16 14:39:36"
"LU1598757687","MT","MT.AS","ARCELORMITTAL SA","2026-06-16 14:39:36"
"NL0000226223","STMPA","STMPA.PA","STMICROELECTRONICS","2026-06-16 14:39:36"
"NL0000235190","AIR","AIR.PA","AIRBUS","2026-06-16 14:39:36"
"NL0006294274","ENX","ENX.PA","EURONEXT","2026-06-16 14:39:36"
"NL0014559478","TE","TE.PA","TECHNIP ENERGIES","2026-06-16 14:39:36"
"NL00150001Q9","STLAM","STLAM.PA","STELLANTIS NV","2026-06-16 14:39:36"
"NL0015001W49","PLX","PLX.PA","PLUXEE","2026-06-16 14:39:36"
1 isin ticker yahoo_code company_name updated_at
2 BE0003470755 SOLB SOLB.BR SOLVAY 2026-06-16 14:39:36
3 FR0000031577 VIRP VIRP.PA VIRBAC 2026-06-16 14:39:36
4 FR0000031775 VCT VCT.PA VICAT 2026-06-16 14:39:36
5 FR0000035081 ICAD ICAD.PA ICADE 2026-06-16 14:39:36
6 FR0000039299 BOL BOL.PA BOLLORE 2026-06-16 14:39:36
7 FR0000044448 NEX NEX.PA NEXANS 2026-06-16 14:39:36
8 FR0000045072 ACA ACA.PA CREDIT AGRICOLE 2026-06-16 14:39:36
9 FR0000050353 FII FII.PA LISI 2026-06-16 14:39:36
10 FR0000050809 SOP SOP.PA SOPRA STERIA GROUP 2026-06-16 14:39:36
11 FR0000051807 TEP TEP.PA TELEPERFORMANCE 2026-06-16 14:39:36
12 FR0000052292 RMS RMS.PA HERMES INTL 2026-06-16 14:39:36
13 FR0000053225 MMT MMT.PA METROPOLE TV 2026-06-16 14:39:36
14 FR0000053381 DBG DBG.PA DERICHEBOURG 2026-06-16 14:39:36
15 FR0000054470 UBI UBI.PA UBISOFT ENTERTAIN 2026-06-16 14:39:36
16 FR0000054900 TFI TFI.PA TF1 2026-06-16 14:39:36
17 FR0000062671 EXA EXA.PA EXAIL TECHNOLOGIES 2026-06-16 14:39:36
18 FR0000064578 COV COV.PA COVIVIO 2026-06-16 14:39:36
19 FR0000071946 ATE ATE.PA ALTEN 2026-06-16 14:39:36
20 FR0000073272 SAF SAF.PA SAFRAN 2026-06-16 14:39:36
21 FR0000073298 IPS IPS.PA IPSOS 2026-06-16 14:39:36
22 FR0000077919 DEC DEC.PA JCDECAUX 2026-06-16 14:39:36
23 FR0000120073 AI AI.PA AIR LIQUIDE 2026-06-16 14:39:36
24 FR0000120172 CA CA.PA CARREFOUR 2026-06-16 14:39:36
25 FR0000120271 TTE TTE.PA TOTALENERGIES 2026-06-16 14:39:36
26 FR0000120321 OR OR.PA L'OREAL 2026-06-16 14:39:36
27 FR0000120404 AC AC.PA ACCOR 2026-06-16 14:39:36
28 FR0000120503 EN EN.PA BOUYGUES 2026-06-16 14:39:36
29 FR0000120578 SAN SAN.PA SANOFI 2026-06-16 14:39:36
30 FR0000120628 CS CS.PA AXA 2026-06-16 14:39:36
31 FR0000120644 BN BN.PA DANONE 2026-06-16 14:39:36
32 FR0000120693 RI RI.PA PERNOD RICARD 2026-06-16 14:39:36
33 FR0000120859 NK NK.PA IMERYS 2026-06-16 14:39:36
34 FR0000120966 BB BB.PA BIC 2026-06-16 14:39:36
35 FR0000121014 MC MC.PA LVMH 2026-06-16 14:39:36
36 FR0000121121 RF RF.PA EURAZEO 2026-06-16 14:39:36
37 FR0000121147 FRVIA FRVIA.PA FORVIA 2026-06-16 14:39:36
38 FR0000121204 MF MF.PA WENDEL 2026-06-16 14:39:36
39 FR0000121220 SW SW.PA SODEXO 2026-06-16 14:39:36
40 FR0000121329 HO HO.PA THALES 2026-06-16 14:39:36
41 FR0000121485 KER KER.PA KERING 2026-06-16 14:39:36
42 FR0000121667 EL EL.PA ESSILORLUXOTTICA 2026-06-16 14:39:36
43 FR0000121709 SK SK.PA S.E.B. 2026-06-16 14:39:36
44 FR0000121964 LI LI.PA KLEPIERRE 2026-06-16 14:39:36
45 FR0000121972 SU SU.PA SCHNEIDER ELECTRIC 2026-06-16 14:39:36
46 FR0000124141 VIE VIE.PA VEOLIA ENVIRON. 2026-06-16 14:39:36
47 FR0000124570 OPM OPM.PA OPMOBILITY 2026-06-16 14:39:36
48 FR0000125007 SGO SGO.PA SAINT GOBAIN 2026-06-16 14:39:36
49 FR0000125338 CAP CAP.PA CAPGEMINI 2026-06-16 14:39:36
50 FR0000125486 DG DG.PA VINCI 2026-06-16 14:39:36
51 FR0000127771 VIV VIV.PA VIVENDI SE 2026-06-16 14:39:36
52 FR0000130395 RCO RCO.PA REMY COINTREAU 2026-06-16 14:39:36
53 FR0000130452 FGR FGR.PA EIFFAGE 2026-06-16 14:39:36
54 FR0000130577 PUB PUB.PA PUBLICIS GROUPE SA 2026-06-16 14:39:36
55 FR0000130809 GLE GLE.PA SOCIETE GENERALE 2026-06-16 14:39:36
56 FR0000131104 BNP BNP.PA BNP PARIBAS ACT.A 2026-06-16 14:39:36
57 FR0000131757 ERA ERA.PA ERAMET 2026-06-16 14:39:36
58 FR0000131906 RNO RNO.PA RENAULT 2026-06-16 14:39:36
59 FR0000133308 ORA ORA.PA ORANGE 2026-06-16 14:39:36
60 FR0004024222 ITP ITP.PA INTERPARFUMS 2026-06-16 14:39:36
61 FR0004056851 VLA VLA.PA VALNEVA 2026-06-16 14:39:36
62 FR0004065605 FR0004065605 FR0004065605.SG MEDINCELL 2026-06-16 14:39:36
63 FR0004125920 AMUN AMUN.PA AMUNDI 2026-06-16 14:39:36
64 FR0005691656 TRI TRI.PA TRIGANO 2026-06-16 14:39:36
65 FR0006174348 BVI BVI.PA BUREAU VERITAS 2026-06-16 14:39:36
66 FR0010040865 GFC GFC.PA GECINA 2026-06-16 14:39:36
67 FR0010112524 NXI NXI.PA NEXITY 2026-06-16 14:39:36
68 FR0010208488 ENGI ENGI.PA ENGIE 2026-06-16 14:39:36
69 FR0010220475 ALO ALO.PA ALSTOM 2026-06-16 14:39:36
70 FR0010221234 ETL ETL.PA EUTELSAT COMMUNIC. 2026-06-16 14:39:36
71 FR0010241638 MERY MERY.PA MERCIALYS 2026-06-16 14:39:36
72 FR0010259150 IPN IPN.PA IPSEN 2026-06-16 14:39:36
73 FR0010282822 VU VU.PA Vusion 2026-06-16 14:39:36
74 FR0010307819 LR LR.PA LEGRAND 2026-06-16 14:39:36
75 FR0010313833 AKE AKE.PA ARKEMA 2026-06-16 14:39:36
76 FR0010340141 ADP ADP.PA ADP 2026-06-16 14:39:36
77 FR0010386334 CLARI CLARI.PA CLARIANE 2026-06-16 14:39:36
78 FR0010411983 SCR SCR.PA SCOR SE 2026-06-16 14:39:36
79 FR0010417345 DBV DBV.PA DBV TECHNOLOGIES 2026-06-16 14:39:36
80 FR0010451203 RXL RXL.PA REXEL 2026-06-16 14:39:36
81 FR0010481960 ARG ARG.PA ARGAN 2026-06-16 14:39:36
82 FR0010533075 GET GET.PA GETLINK SE 2026-06-16 14:39:36
83 FR0010667147 COFA COFA.PA COFACE 2026-06-16 14:39:36
84 FR0010828137 CARM CARM.PA CARMILA 2026-06-16 14:39:36
85 FR0010908533 EDEN EDEN.PA EDENRED 2026-06-16 14:39:36
86 FR0010929125 IDL IDL.PA ID LOGISTICS GROUP 2026-06-16 14:39:36
87 FR0011341205 NANO NANO.PA NANOBIOTIX 2026-06-16 14:39:36
88 FR0011726835 GTT GTT.PA GTT 2026-06-16 14:39:36
89 FR0011950732 ELIOR ELIOR.PA ELIOR GROUP 2026-06-16 14:39:36
90 FR0012333284 ABVX ABVX.PA ABIVAX 2026-06-16 14:39:36
91 FR0012435121 ELIS ELIS.PA ELIS 2026-06-16 14:39:36
92 FR0012757854 SPIE SPIE.PA SPIE 2026-06-16 14:39:36
93 FR0013154002 DIM DIM.PA SARTORIUS STED BIO 2026-06-16 14:39:36
94 FR0013176526 FR FR.PA VALEO 2026-06-16 14:39:36
95 FR0013227113 SOI SOI.PA SOITEC 2026-06-16 14:39:36
96 FR0013258662 AYV AYV.PA AYVENS 2026-06-16 14:39:36
97 FR0013269123 RUI RUI.PA RUBIS 2026-06-16 14:39:36
98 FR0013280286 BIM BIM.PA BIOMERIEUX 2026-06-16 14:39:36
99 FR0013326246 URW URW.PA UNIBAIL-RODAMCO-WE 2026-06-16 14:39:36
100 FR0013447729 VRLA VRLA.PA VERALLIA 2026-06-16 14:40:56
101 FR0013451333 FDJU FDJU.PA FDJ UNITED 2026-06-16 14:39:36
102 FR0013506730 VK VK.PA VALLOUREC 2026-06-16 14:39:36
103 FR0014000MR3 ERF ERF.PA EUROFINS SCIENT. 2026-06-16 14:39:36
104 FR0014003TT8 DSY DSY.PA DASSAULT SYSTEMES 2026-06-16 14:39:36
105 FR0014004L86 AM AM.PA DASSAULT AVIATION 2026-06-16 14:39:36
106 FR001400AJ45 ML ML.PA MICHELIN 2026-06-16 14:39:36
107 FR001400J770 AF AF.PA AIR FRANCE -KLM 2026-06-16 14:39:36
108 FR001400NLM4 EMEIS EMEIS.PA EMEIS 2026-06-16 14:39:36
109 FR001400PVN6 VIRI VIRI.PA VIRIDIEN 2026-06-16 14:39:36
110 FR001400Q9V2 EXENS EXENS.PA EXOSENS 2026-06-16 14:39:36
111 FR001400X2S4 ATO ATO.PA ATOS 2026-06-16 14:39:36
112 FR00140182K6 WLN WLN.PA WORLDLINE 2026-06-16 14:39:36
113 LU0088087324 SESG SESG.PA SES 2026-06-16 14:39:36
114 LU0569974404 APAM APAM.AS APERAM 2026-06-16 14:39:36
115 LU1598757687 MT MT.AS ARCELORMITTAL SA 2026-06-16 14:39:36
116 NL0000226223 STMPA STMPA.PA STMICROELECTRONICS 2026-06-16 14:39:36
117 NL0000235190 AIR AIR.PA AIRBUS 2026-06-16 14:39:36
118 NL0006294274 ENX ENX.PA EURONEXT 2026-06-16 14:39:36
119 NL0014559478 TE TE.PA TECHNIP ENERGIES 2026-06-16 14:39:36
120 NL00150001Q9 STLAM STLAM.PA STELLANTIS NV 2026-06-16 14:39:36
121 NL0015001W49 PLX PLX.PA PLUXEE 2026-06-16 14:39:36
+496
View File
@@ -0,0 +1,496 @@
"isin","ticker","yahoo_code","company_name","updated_at"
"BM1250141022","BG","BG","Bunge Global","2026-06-16 18:22:24"
"BMG0450A1053","ACGL","ACGL","Arch Capital Group","2026-06-16 19:00:10"
"BMG2004J1036","CCL","CCL","Carnival Corporation","2026-06-16 17:05:54"
"BMG3223R1088","EG","EG","Everest Group","2026-06-16 17:05:54"
"BMG491BT1088","IVZ","IVZ","Invesco","2026-06-16 17:05:54"
"BMG667211046","NCLH","NCLH","Norwegian Cruise Line Holdings","2026-06-16 18:51:11"
"CA8000541083","SNDK","SNDK","Sandisk","2026-06-16 17:05:54"
"CH0044328745","CB","CB","Chubb Limited","2026-06-16 19:00:10"
"CH0102993182","TEL","TEL","TE Connectivity","2026-06-16 18:51:11"
"IE0001827041","CRH","CRH","CRH plc","2026-06-16 17:05:54"
"IE000S9YS062","SW","SW","Smurfit Westrock","2026-06-16 18:51:11"
"IE000S9YS762","LIN","LIN","Linde plc","2026-06-16 17:05:54"
"IE00B4BNMY34","ACN","ACN","Accenture","2026-06-16 19:00:10"
"IE00B58JVZ52","STX","STX","Seagate Technology","2026-06-16 18:51:11"
"IE00B8KQN827","ETN","ETN","Eaton Corporation","2026-06-16 19:00:10"
"IE00B9699L58","ALLE","ALLE","Allegion","2026-06-16 19:00:10"
"IE00BDB64S84","WTW","WTW","Willis Towers Watson","2026-06-16 18:51:11"
"IE00BK9ZQ967","TT","TT","Trane Technologies","2026-06-16 17:05:54"
"IE00BLP1HW54","AON","AON","Aon","2026-06-16 19:00:10"
"IE00BLS09M33","PNR","PNR","Pentair","2026-06-16 17:05:54"
"IE00BTN1Y115","MDT","MDT","Medtronic","2026-06-16 17:05:54"
"IE00BY7QL619","JCI","JCI","Johnson Controls","2026-06-16 17:05:54"
"JE00BJ1F3079","AMCR","AMCR","Amcor","2026-06-16 19:00:10"
"JE00BTDN8H13","APTV","APTV","Aptiv","2026-06-16 17:05:54"
"JP3832370005","NWS","NWS","News Corp (Class B)","2026-06-16 17:05:54"
"LR0008862868","RCL","RCL","Royal Caribbean Group","2026-06-16 17:05:54"
"NL0009434992","LYB","LYB","LyondellBasell","2026-06-16 17:05:54"
"NL0009538784","NXPI","NXPI","NXP Semiconductors","2026-06-16 17:05:54"
"US0009041051","ADT","ADT","ADT Inc.","2026-06-16 19:00:10"
"US0010551028","AFL","AFL","Aflac","2026-06-16 19:00:10"
"US00130H1059","AES","AES","AES Corporation","2026-06-16 19:00:10"
"US0017651060","AAL","AAL","American Airlines Group","2026-06-16 19:00:10"
"US00206R1023","T","T","AT&T","2026-06-16 17:05:54"
"US0028241000","ABT","ABT","Abbott Laboratories","2026-06-16 19:00:10"
"US00287Y1091","ABBV","ABBV","AbbVie","2026-06-16 19:00:10"
"US00724F1012","ADBE","ADBE","Adobe Inc.","2026-06-16 19:00:10"
"US0079031078","AMD","AMD","Advanced Micro Devices","2026-06-16 19:00:10"
"US00846U1016","A","A","Agilent Technologies","2026-06-16 19:00:10"
"US0090661010","ABNB","ABNB","Airbnb","2026-06-16 19:00:10"
"US0091581068","APD","APD","Air Products and Chemicals","2026-06-16 19:00:10"
"US0097281069","AKAM","AKAM","Akamai","2026-06-16 19:00:10"
"US0126531013","ALB","ALB","Albemarle Corporation","2026-06-16 19:00:10"
"US0152711091","ARE","ARE","Alexandria Real Estate Equities","2026-06-16 19:00:10"
"US0162551016","ALGN","ALGN","Align Technology","2026-06-16 19:00:10"
"US0188021085","LNT","LNT","Alliant Energy","2026-06-16 19:00:10"
"US0200021014","ALL","ALL","Allstate","2026-06-16 19:00:10"
"US02079K1079","GOOG","GOOG","Alphabet Inc. (Class C)","2026-06-16 17:05:54"
"US02209S1033","MO","MO","Altria","2026-06-16 19:00:10"
"US0231351067","AMZN","AMZN","Amazon","2026-06-16 19:00:10"
"US0236081024","AEE","AEE","Ameren","2026-06-16 19:00:10"
"US0255371017","AEP","AEP","American Electric Power","2026-06-16 19:00:10"
"US0258161092","AXP","AXP","American Express","2026-06-16 19:00:10"
"US0268747849","AIG","AIG","American International Group","2026-06-16 19:00:10"
"US03027X1000","AMT","AMT","American Tower","2026-06-16 19:00:10"
"US0304201033","AWK","AWK","American Water Works","2026-06-16 19:00:10"
"US03076C1062","AMP","AMP","Ameriprise Financial","2026-06-16 19:00:10"
"US0311001004","AME","AME","Ametek","2026-06-16 19:00:10"
"US0311621009","AMGN","AMGN","Amgen","2026-06-16 19:00:10"
"US0320951017","APH","APH","Amphenol","2026-06-16 19:00:10"
"US0326541051","ADI","ADI","Analog Devices","2026-06-16 19:00:10"
"US03662Q1058","ANSS","ANSS","Ansys","2026-06-16 19:00:10"
"US0367521038","ELV","ELV","Elevance Health","2026-06-16 19:00:10"
"US03743Q1085","APA","APA","APA Corporation","2026-06-16 19:00:10"
"US03769M1062","APO","APO","Apollo Global Management","2026-06-16 19:00:10"
"US0378331005","AAPL","AAPL","Apple Inc.","2026-06-16 19:00:10"
"US0382221051","AMAT","AMAT","Applied Materials","2026-06-16 19:00:10"
"US03831W1080","APP","APP","AppLovin","2026-06-16 19:00:10"
"US0394831020","ADM","ADM","Archer-Daniels-Midland","2026-06-16 19:00:10"
"US03990B1017","ARES","ARES","Ares Management","2026-06-16 19:00:10"
"US0404132054","ANET","ANET","Arista Networks","2026-06-16 19:00:10"
"US04586V1026","AIZ","AIZ","Assurant","2026-06-16 19:00:10"
"US0495601058","ATO","ATO","Atmos Energy","2026-06-16 19:00:10"
"US0527691069","ADSK","ADSK","Autodesk","2026-06-16 19:00:10"
"US0530151036","ADP","ADP","Automatic Data Processing","2026-06-16 17:05:54"
"US0533321024","AZO","AZO","AutoZone","2026-06-16 19:00:10"
"US0534841012","AVB","AVB","AvalonBay Communities","2026-06-16 19:00:10"
"US0536111091","AVY","AVY","Avery Dennison","2026-06-16 19:00:10"
"US05464C1018","AXON","AXON","Axon Enterprise","2026-06-16 19:00:10"
"US05722G1004","BKR","BKR","Baker Hughes","2026-06-16 17:05:54"
"US0584981064","BALL","BALL","Ball Corporation","2026-06-16 19:00:10"
"US0605051046","BAC","BAC","Bank of America","2026-06-16 19:00:10"
"US0635761097","AJG","AJG","Arthur J. Gallagher & Co.","2026-06-16 19:00:10"
"US0640581007","BK","BK","The Bank of New York Mellon","2026-06-16 19:00:10"
"US0718131099","BAX","BAX","Baxter International","2026-06-16 19:00:10"
"US0758871014","BDX","BDX","Becton Dickinson","2026-06-16 19:00:10"
"US0846707026","BRK.B","BRK.B","Berkshire Hathaway","2026-06-16 19:00:10"
"US0865161014","BBY","BBY","Best Buy","2026-06-16 19:00:10"
"US09062X1037","BIIB","BIIB","Biogen","2026-06-16 19:00:10"
"US09073M1045","TECH","TECH","Bio-Techne","2026-06-16 17:05:54"
"US09260D1072","BX","BX","Blackstone Inc.","2026-06-16 18:22:24"
"US09290D1019","BLK","BLK","BlackRock","2026-06-16 19:00:10"
"US0970231058","BA","BA","Boeing","2026-06-16 19:00:10"
"US09857L1048","BKNG","BKNG","Booking Holdings","2026-06-16 19:00:10"
"US1011211018","BXP","BXP","BXP, Inc.","2026-06-16 19:00:10"
"US1011371077","BSX","BSX","Boston Scientific","2026-06-16 19:00:10"
"US1101221007","BMY","BMY","Bristol Myers Squibb","2026-06-16 19:00:10"
"US11133T1034","BR","BR","Broadridge Financial Solutions","2026-06-16 19:00:10"
"US11135F1012","AVGO","AVGO","Broadcom","2026-06-16 19:00:10"
"US1128071014","LRCX","LRCX","Lam Research","2026-06-16 19:00:10"
"US1152361010","BRO","BRO","Brown & Brown","2026-06-16 19:00:10"
"US1156372096","BF.B","BF.B","Brown-Forman","2026-06-16 19:00:10"
"US12008R1077","BLDR","BLDR","Builders FirstSource","2026-06-16 19:00:10"
"US12503M1080","CBOE","CBOE","Cboe Global Markets","2026-06-16 19:00:10"
"US12504L1098","CBRE","CBRE","CBRE Group","2026-06-16 19:00:10"
"US12514G1085","CDW","CDW","CDW","2026-06-16 19:00:10"
"US1252691001","CF","CF","CF Industries","2026-06-16 19:00:10"
"US12541W2098","CHRW","CHRW","C.H. Robinson","2026-06-16 19:00:10"
"US1255231003","CI","CI","The Cigna Group","2026-06-16 19:00:10"
"US12572Q1058","CME","CME","CME Group","2026-06-16 19:00:10"
"US1258961002","CMS","CMS","CMS Energy","2026-06-16 19:00:10"
"US1264081035","CSX","CSX","CSX Corporation","2026-06-16 19:00:10"
"US1266501006","CVS","CVS","CVS Health","2026-06-16 19:00:10"
"US1273871087","CDNS","CDNS","Cadence Design Systems","2026-06-16 19:00:10"
"US1331311027","CPT","CPT","Camden Property Trust","2026-06-16 19:00:10"
"US1344291091","CPB","CPB","Campbell Soup Company","2026-06-16 19:00:10"
"US14040H1059","COF","COF","Capital One","2026-06-16 19:00:10"
"US14149Y1082","CAH","CAH","Cardinal Health","2026-06-16 19:00:10"
"US14448C1045","CARR","CARR","Carrier Global","2026-06-16 19:00:10"
"US1468691027","CVNA","CVNA","Carvana","2026-06-16 19:00:10"
"US1475281036","CASY","CASY","Casey's General Stores","2026-06-16 19:00:10"
"US1491231015","CAT","CAT","Caterpillar Inc.","2026-06-16 19:00:10"
"US1508701034","CE","CE","Celanese","2026-06-16 19:00:10"
"US15135B1017","CNC","CNC","Centene Corporation","2026-06-16 19:00:10"
"US15135U1097","COR","COR","Cencora","2026-06-16 18:26:35"
"US15189T1079","CNP","CNP","CenterPoint Energy","2026-06-16 19:00:10"
"US1598641074","CRL","CRL","Charles River Laboratories","2026-06-16 19:00:10"
"US16119P1084","CHTR","CHTR","Charter Communications","2026-06-16 19:00:10"
"US1667641005","CVX","CVX","Chevron Corporation","2026-06-16 19:00:10"
"US1696561059","CMG","CMG","Chipotle Mexican Grill","2026-06-16 19:00:10"
"US1713401024","CHD","CHD","Church & Dwight","2026-06-16 19:00:10"
"US1717791016","CIEN","CIEN","Ciena","2026-06-16 19:00:10"
"US1720621010","CINF","CINF","Cincinnati Financial","2026-06-16 19:00:10"
"US17275R1023","CSCO","CSCO","Cisco","2026-06-16 19:00:10"
"US1729081035","CTAS","CTAS","Cintas","2026-06-16 19:00:10"
"US1729674242","C","C","Citigroup","2026-06-16 19:00:10"
"US1746101054","CFG","CFG","Citizens Financial Group","2026-06-16 19:00:10"
"US1890541097","CLX","CLX","Clorox","2026-06-16 19:00:10"
"US1912161007","KO","KO","Coca-Cola Company (The)","2026-06-16 17:09:59"
"US1924461023","CTSH","CTSH","Cognizant","2026-06-16 18:28:03"
"US19247G1076","COHR","COHR","Coherent","2026-06-16 19:00:10"
"US19260U1051","COIN","COIN","Coinbase","2026-06-16 19:00:10"
"US1941621039","CL","CL","Colgate-Palmolive","2026-06-16 19:00:10"
"US1999081045","FIX","FIX","Comfort Systems USA","2026-06-16 19:00:10"
"US20030N1019","CMCSA","CMCSA","Comcast","2026-06-16 19:00:10"
"US2003401070","CMA","CMA","Comerica","2026-06-16 19:00:10"
"US2058871029","CAG","CAG","Conagra Brands","2026-06-16 19:00:10"
"US20825C1045","COP","COP","ConocoPhillips","2026-06-16 19:00:10"
"US2091151041","ED","ED","Consolidated Edison","2026-06-16 19:00:10"
"US21036P1084","STZ","STZ","Constellation Brands","2026-06-16 17:05:54"
"US21037T1097","CEG","CEG","Constellation Energy","2026-06-16 19:00:10"
"US21664A1025","COO","COO","The Cooper Companies","2026-06-16 19:00:10"
"US2172041061","CPRT","CPRT","Copart","2026-06-16 19:00:10"
"US2193501051","GLW","GLW","Corning Inc.","2026-06-16 19:00:10"
"US22052L1044","CTVA","CTVA","Corteva","2026-06-16 19:00:10"
"US22160K1051","COST","COST","Costco","2026-06-16 18:26:35"
"US22160N1090","CSGP","CSGP","CoStar Group","2026-06-16 19:00:10"
"US22788C1053","CRWD","CRWD","CrowdStrike","2026-06-16 19:00:10"
"US22822V1017","CCI","CCI","Crown Castle","2026-06-16 19:00:10"
"US2283681060","CCK","CCK","Crown Holdings","2026-06-16 19:00:10"
"US2310211063","CMI","CMI","Cummins","2026-06-16 19:00:10"
"US23331A1097","DHI","DHI","D.R. Horton","2026-06-16 19:00:10"
"US2333311072","DTE","DTE","DTE Energy","2026-06-16 19:00:10"
"US2358511028","DHR","DHR","Danaher Corporation","2026-06-16 19:00:10"
"US2371941053","DRI","DRI","Darden Restaurants","2026-06-16 19:00:10"
"US23804L1035","DDOG","DDOG","Datadog","2026-06-16 19:00:10"
"US23918K1088","DVA","DVA","DaVita Inc.","2026-06-16 19:00:10"
"US2441991054","DE","DE","John Deere","2026-06-16 19:00:10"
"US24703L2025","DELL","DELL","Dell Technologies","2026-06-16 19:00:10"
"US2473617023","DAL","DAL","Delta Air Lines","2026-06-16 19:00:10"
"US25179M1036","DVN","DVN","Devon Energy","2026-06-16 19:00:10"
"US2521311074","DXCM","DXCM","Dexcom","2026-06-16 19:00:10"
"US25278X1090","FANG","FANG","Diamondback Energy","2026-06-16 19:00:10"
"US2538681030","DLR","DLR","Digital Realty","2026-06-16 17:05:54"
"US2546871060","DIS","DIS","Walt Disney","2026-06-16 19:00:10"
"US2566771059","DG","DG","Dollar General","2026-06-16 19:00:10"
"US2567461080","DLTR","DLTR","Dollar Tree","2026-06-16 19:00:10"
"US25746U1097","DOV","DOV","Dover Corporation","2026-06-16 19:00:10"
"US25754A2015","DPZ","DPZ","Domino's","2026-06-16 19:00:10"
"US2605571031","DOW","DOW","Dow Inc.","2026-06-16 19:00:10"
"US26441C2044","DUK","DUK","Duke Energy","2026-06-16 19:00:10"
"US26614N1028","DD","DD","DuPont","2026-06-16 19:00:10"
"US26875P1012","EOG","EOG","EOG Resources","2026-06-16 19:00:10"
"US26884L1098","EQT","EQT","EQT Corporation","2026-06-16 19:00:10"
"US2786421030","EBAY","EBAY","eBay","2026-06-16 19:00:10"
"US2787681061","SATS","SATS","EchoStar","2026-06-16 18:51:11"
"US2788651006","ECL","ECL","Ecolab","2026-06-16 19:00:10"
"US2810201077","EIX","EIX","Edison International","2026-06-16 19:00:10"
"US28176E1082","EW","EW","Edwards Lifesciences","2026-06-16 19:00:10"
"US2855121099","EA","EA","Electronic Arts","2026-06-16 19:00:10"
"US29084Q1004","EME","EME","EMCOR Group","2026-06-16 19:00:10"
"US2910111044","EMR","EMR","Emerson Electric","2026-06-16 19:00:10"
"US29364G1031","ETR","ETR","Entergy","2026-06-16 19:00:10"
"US29414B1044","EPAM","EPAM","EPAM Systems","2026-06-16 19:00:10"
"US2944291051","EFX","EFX","Equifax","2026-06-16 19:00:10"
"US29444U7000","EQIX","EQIX","Equinix","2026-06-16 19:00:10"
"US29476L1070","EQR","EQR","Equity Residential","2026-06-16 19:00:10"
"US29530P1021","ERIE","ERIE","Erie Indemnity","2026-06-16 19:00:10"
"US2971721029","ESS","ESS","Essex Property Trust","2026-06-16 19:00:10"
"US30034W1062","EVRG","EVRG","Evergy","2026-06-16 19:00:10"
"US30161N1019","EXE","EXE","Expand Energy","2026-06-16 19:00:10"
"US30212P3038","EXPE","EXPE","Expedia Group","2026-06-16 19:00:10"
"US3021301094","EXPD","EXPD","Expeditors International","2026-06-16 19:00:10"
"US30225T1025","EXR","EXR","Extra Space Storage","2026-06-16 19:00:10"
"US30231G1022","XOM","XOM","ExxonMobil","2026-06-16 18:27:40"
"US3024913036","FMC","FMC","FMC Corporation","2026-06-16 19:00:10"
"US30303M1027","META","META","Meta Platforms","2026-06-16 17:05:54"
"US3030751057","FDS","FDS","FactSet","2026-06-16 19:00:10"
"US3032501047","FICO","FICO","Fair Isaac","2026-06-16 19:00:10"
"US3119001044","FAST","FAST","Fastenal","2026-06-16 19:00:10"
"US3137451015","FRT","FRT","Federal Realty","2026-06-16 19:00:10"
"US31428X1063","FDX","FDX","FedEx","2026-06-16 19:00:10"
"US3143521058","FDXF","FDXF","FedEx Freight","2026-06-16 17:05:54"
"US3156161024","FFIV","FFIV","F5, Inc.","2026-06-16 19:00:10"
"US31620M1062","FIS","FIS","Fidelity National Information Services","2026-06-16 19:00:10"
"US3167731005","FITB","FITB","Fifth Third Bank","2026-06-16 19:00:10"
"US3364331070","FLT","FLT","Business Fuel Cards (Corpay)","2026-06-16 19:00:10"
"US3377381088","FISV","FISV","Fiserv","2026-06-16 19:00:10"
"US3379321074","FE","FE","FirstEnergy","2026-06-16 19:00:10"
"US34959E1091","FTNT","FTNT","Fortinet","2026-06-16 19:00:10"
"US34959J1084","FTV","FTV","Fortive","2026-06-16 19:00:10"
"US35137L1052","FOXA","FOXA","Fox Corporation (Class A)","2026-06-16 19:00:10"
"US35137L2043","FOX","FOX","Fox Corporation (Class B)","2026-06-16 19:00:10"
"US3546131018","BEN","BEN","Franklin Templeton","2026-06-16 19:00:10"
"US35671D8570","FCX","FCX","Freeport-McMoRan","2026-06-16 19:00:10"
"US36266G1076","GEHC","GEHC","GE HealthCare","2026-06-16 19:00:10"
"US3666511072","IT","IT","Gartner","2026-06-16 19:00:10"
"US3687361044","GNRC","GNRC","Generac","2026-06-16 17:05:54"
"US3695501086","GD","GD","General Dynamics","2026-06-16 19:00:10"
"US3696043013","GEV","GEV","GE Vernova","2026-06-16 19:00:10"
"US3703341046","GIS","GIS","General Mills","2026-06-16 19:00:10"
"US37045V1008","GM","GM","General Motors","2026-06-16 19:00:10"
"US3746891040","GPC","GPC","Genuine Parts Company","2026-06-16 19:00:10"
"US3755581036","GILD","GILD","Gilead Sciences","2026-06-16 19:00:10"
"US37940X1028","GPN","GPN","Global Payments","2026-06-16 19:00:10"
"US37959E1029","GL","GL","Globe Life","2026-06-16 19:00:10"
"US3802371076","GNDY","GNDY","GoDaddy","2026-06-16 19:00:10"
"US38141G1040","GS","GS","Goldman Sachs","2026-06-16 19:00:10"
"US3848021040","GWW","GWW","W. W. Grainger","2026-06-16 19:00:10"
"US40412C1018","HCA","HCA","HCA Healthcare","2026-06-16 19:00:10"
"US40434L1052","HPQ","HPQ","HP Inc.","2026-06-16 19:00:10"
"US4062161017","HAL","HAL","Halliburton","2026-06-16 18:51:11"
"US4165151048","HIG","HIG","The Hartford","2026-06-16 19:00:10"
"US4180561072","HAS","HAS","Hasbro","2026-06-16 19:00:10"
"US42250P1030","DOC","DOC","Healthpeak Properties","2026-06-16 19:00:10"
"US4262811015","JKHY","JKHY","Jack Henry & Associates","2026-06-16 19:00:10"
"US4278661081","HSY","HSY","The Hershey Company","2026-06-16 19:00:10"
"US42824C1099","HPE","HPE","Hewlett Packard Enterprise","2026-06-16 18:51:11"
"US43300A2033","HD","HD","Home Depot","2026-06-16 19:00:10"
"US4404521001","HRL","HRL","Hormel Foods","2026-06-16 19:00:10"
"US44107P1049","HST","HST","Host Hotels & Resorts","2026-06-16 19:00:10"
"US4432011017","HON","HON","Honeywell","2026-06-16 17:05:54"
"US4432011082","HWM","HWM","Howmet Aerospace","2026-06-16 19:00:10"
"US4435106079","HUBB","HUBB","Hubbell Incorporated","2026-06-16 19:00:10"
"US4448591028","HUM","HUM","Humana","2026-06-16 19:00:10"
"US4456581077","JBHT","JBHT","J.B. Hunt","2026-06-16 19:00:10"
"US4461501045","HBAN","HBAN","Huntington Bancshares","2026-06-16 19:00:10"
"US4464131063","HII","HII","Huntington Ingalls Industries","2026-06-16 19:00:10"
"US45167R1041","IEX","IEX","IDEX Corporation","2026-06-16 19:00:10"
"US45168D1046","IDXX","IDXX","IDEXX Laboratories","2026-06-16 19:00:10"
"US4523081093","ITW","ITW","Illinois Tool Works","2026-06-16 19:00:10"
"US45337C1027","INCY","INCY","Incyte","2026-06-16 19:00:10"
"US4553708600","F","F","Ford Motor Company","2026-06-16 19:00:10"
"US45687V1061","IR","IR","Ingersoll Rand","2026-06-16 19:00:10"
"US45784P1012","PODD","PODD","Insulet Corporation","2026-06-16 18:51:11"
"US4581401001","INTC","INTC","Intel","2026-06-16 19:00:10"
"US45841N1072","IBKR","IBKR","Interactive Brokers","2026-06-16 19:00:10"
"US45866F1043","ICE","ICE","Intercontinental Exchange","2026-06-16 19:00:10"
"US4592001014","IBM","IBM","IBM","2026-06-16 19:00:10"
"US4595061015","IFF","IFF","International Flavors & Fragrances","2026-06-16 19:00:10"
"US4601461035","IP","IP","International Paper","2026-06-16 19:00:10"
"US4612021034","INTU","INTU","Intuit","2026-06-16 19:00:10"
"US46120E6023","ISRG","ISRG","Intuitive Surgical","2026-06-16 19:00:10"
"US46187W1071","INVH","INVH","Invitation Homes","2026-06-16 19:00:10"
"US46266C1053","IQV","IQV","IQVIA","2026-06-16 19:00:10"
"US46284V1017","IRM","IRM","Iron Mountain","2026-06-16 19:00:10"
"US46625H1005","JPM","JPM","JPMorgan Chase","2026-06-16 19:00:10"
"US4663131039","JBL","JBL","Jabil","2026-06-16 19:00:10"
"US46982L1089","J","J","Jacobs Solutions","2026-06-16 19:00:10"
"US4781281010","SJM","SJM","J.M. Smucker Company (The)","2026-06-16 18:51:11"
"US4781601046","JNJ","JNJ","Johnson & Johnson","2026-06-16 19:00:10"
"US4824801009","KLAC","KLAC","KLA Corporation","2026-06-16 19:00:10"
"US48251W1045","KKR","KKR","KKR & Co.","2026-06-16 17:05:54"
"US49177J1025","KVUE","KVUE","Kenvue","2026-06-16 19:00:10"
"US49271V1008","KDP","KDP","Keurig Dr Pepper","2026-06-16 19:00:10"
"US4932671088","KEY","KEY","KeyCorp","2026-06-16 19:00:10"
"US49338L1035","KEYS","KEYS","Keysight","2026-06-16 19:00:10"
"US4943681035","KMB","KMB","Kimberly-Clark","2026-06-16 19:00:10"
"US49446R1095","KIM","KIM","Kimco Realty","2026-06-16 19:00:10"
"US49456B1017","KMI","KMI","Kinder Morgan","2026-06-16 19:00:10"
"US5007541064","KHC","KHC","Kraft Heinz","2026-06-16 19:00:10"
"US5010441013","KR","KR","Kroger","2026-06-16 19:00:10"
"US5024311095","LHX","LHX","L3Harris","2026-06-16 19:00:10"
"US5049221055","LH","LH","Labcorp","2026-06-16 19:00:10"
"US5178341070","LVS","LVS","Las Vegas Sands","2026-06-16 19:00:10"
"US5184391044","EL","EL","Estée Lauder Companies","2026-06-16 19:00:10"
"US5253271028","LDOS","LDOS","Leidos","2026-06-16 19:00:10"
"US5260571048","LEN","LEN","Lennar","2026-06-16 19:00:10"
"US5261071071","LII","LII","Lennox International","2026-06-16 19:00:10"
"US5324571083","LLY","LLY","Eli Lilly & Co.","2026-06-16 19:00:10"
"US5380341090","LYV","LYV","Live Nation Entertainment","2026-06-16 19:00:10"
"US5398301094","LMT","LMT","Lockheed Martin","2026-06-16 19:00:10"
"US5404241031","L","L","Loews Corporation","2026-06-16 19:00:10"
"US5486611073","LOW","LOW","Lowe's","2026-06-16 19:00:10"
"US5500211090","LULU","LULU","Lululemon Athletica","2026-06-16 19:00:10"
"US55024U1097","LITE","LITE","Lumentum","2026-06-16 19:00:10"
"US55261F1043","MTB","MTB","M&T Bank","2026-06-16 19:00:10"
"US5529531015","MGM","MGM","MGM Resorts","2026-06-16 19:00:10"
"US55354G1004","MSCI","MSCI","MSCI Inc.","2026-06-16 19:00:10"
"US56585A1025","MPC","MPC","Marathon Petroleum","2026-06-16 19:00:10"
"US5717481023","MRSH","MRSH","Marsh & McLennan","2026-06-16 19:00:10"
"US5719032022","MAR","MAR","Marriott International","2026-06-16 18:27:17"
"US5732841060","MLM","MLM","Martin Marietta Materials","2026-06-16 17:05:54"
"US5745991068","MAS","MAS","Masco","2026-06-16 18:27:17"
"US57636Q1040","MA","MA","Mastercard","2026-06-16 18:27:17"
"US5801351017","MCD","MCD","McDonald's","2026-06-16 18:27:17"
"US58155Q1031","MCK","MCK","McKesson Corporation","2026-06-16 18:27:17"
"US5825211047","MKC","MKC","McCormick & Company","2026-06-16 18:27:17"
"US59156R1086","MET","MET","MetLife","2026-06-16 17:05:54"
"US5926881054","MTD","MTD","Mettler Toledo","2026-06-16 17:05:54"
"US5949181045","MSFT","MSFT","Microsoft","2026-06-16 18:27:18"
"US5950171042","MCHP","MCHP","Microchip Technology","2026-06-16 18:27:17"
"US5951121038","MU","MU","Micron Technology","2026-06-16 17:05:54"
"US59522J1034","MAA","MAA","Mid-America Apartment Communities","2026-06-16 17:05:54"
"US60770K1079","MRNA","MRNA","Moderna","2026-06-16 17:05:54"
"US60871R1023","TAP","TAP","Molson Coors Beverage Company","2026-06-16 18:51:11"
"US6092071563","MDLZ","MDLZ","Mondelez International","2026-06-16 18:27:17"
"US6098391054","MCO","MCO","Moody's Corporation","2026-06-16 18:27:17"
"US61174X1090","MNST","MNST","Monster Beverage","2026-06-16 18:51:11"
"US6174464486","MS","MS","Morgan Stanley","2026-06-16 17:05:54"
"US61945C1036","MOS","MOS","Mosaic Company (The)","2026-06-16 18:51:11"
"US6200763075","MSI","MSI","Motorola Solutions","2026-06-16 17:05:54"
"US6293775085","NRG","NRG","NRG Energy","2026-06-16 17:05:54"
"US62944T1051","NVR","NVR","NVR, Inc.","2026-06-16 17:05:54"
"US6311031081","NDAQ","NDAQ","Nasdaq, Inc.","2026-06-16 17:05:54"
"US64110D1046","NTAP","NTAP","NetApp","2026-06-16 17:05:54"
"US64110L1061","NFLX","NFLX","Netflix","2026-06-16 17:05:54"
"US6516391066","NEM","NEM","Newmont","2026-06-16 17:05:54"
"US65339F1012","NEE","NEE","NextEra Energy","2026-06-16 17:05:54"
"US6541061031","NKE","NKE","Nike, Inc.","2026-06-16 17:05:54"
"US65473P1057","NI","NI","NiSource","2026-06-16 17:05:54"
"US6556631008","NDSN","NDSN","Nordson Corporation","2026-06-16 18:51:11"
"US6558441084","NSC","NSC","Norfolk Southern","2026-06-16 18:51:11"
"US6658591044","NTRS","NTRS","Northern Trust","2026-06-16 18:51:11"
"US6687711084","NOC","NOC","Northrop Grumman","2026-06-16 18:51:11"
"US66987P1012","ES","ES","Eversource Energy","2026-06-16 19:00:10"
"US6703461052","NUE","NUE","Nucor","2026-06-16 18:51:11"
"US67066G1040","NVDA","NVDA","Nvidia","2026-06-16 18:27:23"
"US6745991058","OXY","OXY","Occidental Petroleum","2026-06-16 18:51:11"
"US6795801009","ODFL","ODFL","Old Dominion","2026-06-16 17:05:54"
"US6819191064","OMC","OMC","Omnicom Group","2026-06-16 17:05:54"
"US6821891057","ON","ON","ON Semiconductor","2026-06-16 18:51:11"
"US6826801036","OKE","OKE","Oneok","2026-06-16 17:05:54"
"US68389X1054","ORCL","ORCL","Oracle Corporation","2026-06-16 18:28:03"
"US6852181040","ORLY","ORLY","OReilly Automotive","2026-06-16 18:51:11"
"US68902V1070","OTIS","OTIS","Otis Worldwide","2026-06-16 17:05:54"
"US69331C1080","PCG","PCG","PG&E Corporation","2026-06-16 18:51:11"
"US6934751057","PNC","PNC","PNC Financial Services","2026-06-16 17:05:54"
"US6935061076","PPG","PPG","PPG Industries","2026-06-16 17:05:54"
"US69351T1060","PPL","PPL","PPL Corporation","2026-06-16 17:05:54"
"US69370C1009","PTC","PTC","PTC Inc.","2026-06-16 17:05:54"
"US6937181088","PCAR","PCAR","Paccar","2026-06-16 17:05:54"
"US6951561090","PKG","PKG","Packaging Corporation of America","2026-06-16 18:51:11"
"US69608A1088","PLTR","PLTR","Palantir Technologies","2026-06-16 18:51:11"
"US6974351057","PANW","PANW","Palo Alto Networks","2026-06-16 17:05:54"
"US7010941042","PH","PH","Parker Hannifin","2026-06-16 18:51:11"
"US7043261079","PAYX","PAYX","Paychex","2026-06-16 17:05:54"
"US70450Y1038","PYPL","PYPL","PayPal","2026-06-16 18:28:07"
"US7134481081","PEP","PEP","PepsiCo","2026-06-16 17:05:54"
"US7170811035","PFE","PFE","Pfizer","2026-06-16 17:05:54"
"US7181721090","PM","PM","Philip Morris International","2026-06-16 17:05:54"
"US7185461040","PSX","PSX","Phillips 66","2026-06-16 17:05:54"
"US7234841010","PNW","PNW","Pinnacle West Capital","2026-06-16 18:51:11"
"US73278L1052","POOL","POOL","Pool Corporation","2026-06-16 17:05:54"
"US74144T1088","TROW","TROW","T. Rowe Price","2026-06-16 17:05:54"
"US74251V1026","PFG","PFG","Principal Financial Group","2026-06-16 17:05:54"
"US7427181094","PG","PG","Procter & Gamble","2026-06-16 18:27:26"
"US7433151039","PGR","PGR","Progressive Corporation","2026-06-16 18:51:11"
"US74340W1036","PLD","PLD","Prologis","2026-06-16 17:05:54"
"US7443201022","PRU","PRU","Prudential Financial","2026-06-16 17:05:54"
"US7445731067","PEG","PEG","Public Service Enterprise Group","2026-06-16 17:05:54"
"US74460D1090","PSA","PSA","Public Storage","2026-06-16 17:05:54"
"US7458671010","PHM","PHM","PulteGroup","2026-06-16 17:05:54"
"US74624M1027","RL","RL","Ralph Lauren Corporation","2026-06-16 18:51:11"
"US7475251036","QCOM","QCOM","Qualcomm","2026-06-16 18:27:32"
"US74762E1029","PWR","PWR","Quanta Services","2026-06-16 17:05:54"
"US74834L1008","DGX","DGX","Quest Diagnostics","2026-06-16 19:00:10"
"US74955A1051","RVTY","RVTY","Revvity","2026-06-16 18:51:11"
"US7547301090","RJF","RJF","Raymond James Financial","2026-06-16 17:05:54"
"US75513E1010","RTX","RTX","RTX Corporation","2026-06-16 17:05:54"
"US7561091049","O","O","Realty Income","2026-06-16 18:28:05"
"US7588491032","REG","REG","Regency Centers","2026-06-16 18:51:11"
"US75886F1075","REGN","REGN","Regeneron Pharmaceuticals","2026-06-16 17:05:54"
"US7591EP1011","RF","RF","Regions Financial Corporation","2026-06-16 18:51:11"
"US7607591002","RSG","RSG","Republic Services","2026-06-16 17:05:54"
"US7611521078","RMD","RMD","ResMed","2026-06-16 17:05:54"
"US77313F1066","HOOD","HOOD","Robinhood Markets","2026-06-16 19:00:10"
"US7739031091","ROK","ROK","Rockwell Automation","2026-06-16 17:05:54"
"US7757111049","ROL","ROL","Rollins, Inc.","2026-06-16 17:05:54"
"US7766961061","ROP","ROP","Roper Technologies","2026-06-16 17:05:54"
"US7782961038","ROST","ROST","Ross Stores","2026-06-16 17:05:54"
"US78409V1044","SPGI","SPGI","S&P Global","2026-06-16 17:05:54"
"US78410G1040","SBAC","SBAC","SBA Communications","2026-06-16 17:05:54"
"US78430Q1013","AOS","AOS","A. O. Smith","2026-06-16 19:00:10"
"US78464A6982","KRE","KRE","SPDR S&P Regional Banking","2026-06-16 19:00:10"
"US79466L3024","CRM","CRM","Salesforce","2026-06-16 19:00:10"
"US8064071025","HSIC","HSIC","Henry Schein","2026-06-16 17:05:54"
"US8085131055","SCHW","SCHW","Charles Schwab Corporation","2026-06-16 18:51:11"
"US8168511090","SRE","SRE","Sempra","2026-06-16 18:51:11"
"US81762P1021","NOW","NOW","ServiceNow","2026-06-16 17:05:54"
"US8243481061","SHW","SHW","Sherwin-Williams","2026-06-16 18:51:11"
"US8288061091","SPG","SPG","Simon Property Group","2026-06-16 17:05:54"
"US83088M1027","SWKS","SWKS","Skyworks Solutions","2026-06-16 17:05:54"
"US8330341012","SNA","SNA","Snap-on","2026-06-16 18:51:11"
"US8425871071","SO","SO","Southern Company","2026-06-16 18:28:08"
"US8447411088","LUV","LUV","Southwest Airlines","2026-06-16 18:27:17"
"US84574X1019","SOLV","SOLV","Solventum","2026-06-16 18:51:11"
"US8545021011","SWK","SWK","Stanley Black & Decker","2026-06-16 17:05:54"
"US8552441094","SBUX","SBUX","Starbucks","2026-06-16 18:28:07"
"US8574771031","STT","STT","State Street Corporation","2026-06-16 18:51:11"
"US8581191009","STLD","STLD","Steel Dynamics","2026-06-16 17:05:54"
"US8591521005","STE","STE","Steris","2026-06-16 18:51:11"
"US8636671013","SYK","SYK","Stryker Corporation","2026-06-16 18:27:36"
"US86800U3023","SMCI","SMCI","Supermicro","2026-06-16 17:05:54"
"US8716071076","SNPS","SNPS","Synopsys","2026-06-16 17:05:54"
"US87165B1035","SYF","SYF","Synchrony Financial","2026-06-16 17:05:54"
"US8718291030","SYY","SYY","Sysco","2026-06-16 18:51:11"
"US8725401090","TJX","TJX","TJX Companies","2026-06-16 17:05:54"
"US87256C1018","TKO","TKO","TKO Group Holdings","2026-06-16 17:05:54"
"US8725901040","TTWO","TTWO","Take-Two Interactive","2026-06-16 18:51:11"
"US8760301072","TPR","TPR","Tapestry, Inc.","2026-06-16 18:51:11"
"US87612E1064","TGT","TGT","Target Corporation","2026-06-16 18:51:11"
"US87612G1013","TRGP","TRGP","Targa Resources","2026-06-16 18:51:11"
"US8793601058","TDY","TDY","Teledyne Technologies","2026-06-16 18:51:11"
"US8807701029","TER","TER","Teradyne","2026-06-16 17:05:54"
"US88160R1014","TSLA","TSLA","Tesla, Inc.","2026-06-16 18:27:38"
"US8825081040","TXN","TXN","Texas Instruments","2026-06-16 18:27:38"
"US88262P1021","TPL","TPL","Texas Pacific Land Corporation","2026-06-16 18:51:11"
"US8832031012","TXT","TXT","Textron","2026-06-16 17:05:54"
"US88339J1051","TTD","TTD","Trade Desk (The)","2026-06-16 17:05:54"
"US8835561023","TMO","TMO","Thermo Fisher Scientific","2026-06-16 17:05:54"
"US88579Y1010","MMM","MMM","3M","2026-06-16 18:27:17"
"US8923561067","TSCO","TSCO","Tractor Supply","2026-06-16 18:51:11"
"US89235Q1011","SQ","SQ","Block, Inc.","2026-06-16 19:00:10"
"US8932351081","TDG","TDG","TransDigm Group","2026-06-16 18:51:11"
"US89417E1091","TRV","TRV","Travelers Companies (The)","2026-06-16 18:51:11"
"US8962391004","TRMB","TRMB","Trimble Inc.","2026-06-16 18:51:11"
"US89832Q1094","TFC","TFC","Truist Financial","2026-06-16 17:05:54"
"US9022521051","TYL","TYL","Tyler Technologies","2026-06-16 17:05:54"
"US9024941034","TSN","TSN","Tyson Foods","2026-06-16 17:05:54"
"US9026531049","UDR","UDR","UDR, Inc.","2026-06-16 17:05:54"
"US9029733048","USB","USB","U.S. Bancorp","2026-06-16 17:05:54"
"US90353T1007","UBER","UBER","Uber","2026-06-16 17:05:54"
"US90384S3031","ULTA","ULTA","Ulta Beauty","2026-06-16 17:05:54"
"US9078181081","UNP","UNP","Union Pacific Corporation","2026-06-16 18:28:11"
"US9100471096","UAL","UAL","United Airlines Holdings","2026-06-16 17:05:54"
"US9113121068","UPS","UPS","United Parcel Service","2026-06-16 17:05:54"
"US9113631090","URI","URI","United Rentals","2026-06-16 17:05:54"
"US91324P1021","UNH","UNH","UnitedHealth Group","2026-06-16 18:27:38"
"US9139031002","UHS","UHS","Universal Health Services","2026-06-16 17:05:54"
"US92047W1018","VLO","VLO","Valero Energy","2026-06-16 18:28:11"
"US9224751084","VEEV","VEEV","Veeva Systems","2026-06-16 17:05:54"
"US92276F1003","VTR","VTR","Ventas","2026-06-16 17:05:54"
"US92338C1036","VLTO","VLTO","Veralto","2026-06-16 17:05:54"
"US92343E1029","VRSN","VRSN","Verisign","2026-06-16 17:05:54"
"US92343V1044","VZ","VZ","Verizon","2026-06-16 17:05:54"
"US92345Y1064","VRSK","VRSK","Verisk Analytics","2026-06-16 17:05:54"
"US9253401031","VRT","VRT","Vertiv","2026-06-16 18:51:11"
"US92556H2067","PSKY","PSKY","Paramount Skydance Corporation","2026-06-16 18:51:11"
"US92556V1061","VTRS","VTRS","Viatris","2026-06-16 17:05:54"
"US9256521090","VICI","VICI","Vici Properties","2026-06-16 17:05:54"
"US92826C8394","V","V","Visa Inc.","2026-06-16 17:05:54"
"US92840M1027","VST","VST","Vistra Corp.","2026-06-16 17:05:54"
"US9290421011","VMC","VMC","Vulcan Materials Company","2026-06-16 18:28:11"
"US9293251000","WRB","WRB","W. R. Berkley Corporation","2026-06-16 18:51:11"
"US92939U1060","WEC","WEC","WEC Energy Group","2026-06-16 17:05:54"
"US9297401088","WAB","WAB","Wabtec","2026-06-16 17:05:54"
"US9311421039","WMT","WMT","Walmart","2026-06-16 17:05:54"
"US9344231041","WBD","WBD","Warner Bros. Discovery","2026-06-16 18:51:11"
"US94106L1098","WM","WM","Waste Management","2026-06-16 17:05:54"
"US9418481035","WAT","WAT","Waters Corporation","2026-06-16 18:51:11"
"US9497461015","WFC","WFC","Wells Fargo","2026-06-16 18:28:11"
"US95040Q1040","WELL","WELL","Welltower","2026-06-16 17:05:54"
"US9553061055","WST","WST","West Pharmaceutical Services","2026-06-16 17:05:54"
"US9581021055","WDC","WDC","Western Digital","2026-06-16 18:51:11"
"US9621661089","WY","WY","Weyerhaeuser","2026-06-16 18:51:11"
"US9694571004","WMB","WMB","Williams Companies","2026-06-16 18:51:11"
"US9699041011","WSM","WSM","Williams-Sonoma, Inc.","2026-06-16 17:05:54"
"US98138H1014","WDAY","WDAY","Workday, Inc.","2026-06-16 17:05:54"
"US9831341071","WYNN","WYNN","Wynn Resorts","2026-06-16 17:05:54"
"US98389B1008","XEL","XEL","Xcel Energy","2026-06-16 17:05:54"
"US98419M1009","XYL","XYL","Xylem Inc.","2026-06-16 17:05:54"
"US9884981013","YUM","YUM","Yum! Brands","2026-06-16 17:05:54"
"US9892071054","ZBRA","ZBRA","Zebra Technologies","2026-06-16 19:00:10"
"US98956P1021","ZBH","ZBH","Zimmer Biomet","2026-06-16 18:28:12"
"US98978V1035","ZTS","ZTS","Zoetis","2026-06-16 17:05:54"
1 isin ticker yahoo_code company_name updated_at
2 BM1250141022 BG BG Bunge Global 2026-06-16 18:22:24
3 BMG0450A1053 ACGL ACGL Arch Capital Group 2026-06-16 19:00:10
4 BMG2004J1036 CCL CCL Carnival Corporation 2026-06-16 17:05:54
5 BMG3223R1088 EG EG Everest Group 2026-06-16 17:05:54
6 BMG491BT1088 IVZ IVZ Invesco 2026-06-16 17:05:54
7 BMG667211046 NCLH NCLH Norwegian Cruise Line Holdings 2026-06-16 18:51:11
8 CA8000541083 SNDK SNDK Sandisk 2026-06-16 17:05:54
9 CH0044328745 CB CB Chubb Limited 2026-06-16 19:00:10
10 CH0102993182 TEL TEL TE Connectivity 2026-06-16 18:51:11
11 IE0001827041 CRH CRH CRH plc 2026-06-16 17:05:54
12 IE000S9YS062 SW SW Smurfit Westrock 2026-06-16 18:51:11
13 IE000S9YS762 LIN LIN Linde plc 2026-06-16 17:05:54
14 IE00B4BNMY34 ACN ACN Accenture 2026-06-16 19:00:10
15 IE00B58JVZ52 STX STX Seagate Technology 2026-06-16 18:51:11
16 IE00B8KQN827 ETN ETN Eaton Corporation 2026-06-16 19:00:10
17 IE00B9699L58 ALLE ALLE Allegion 2026-06-16 19:00:10
18 IE00BDB64S84 WTW WTW Willis Towers Watson 2026-06-16 18:51:11
19 IE00BK9ZQ967 TT TT Trane Technologies 2026-06-16 17:05:54
20 IE00BLP1HW54 AON AON Aon 2026-06-16 19:00:10
21 IE00BLS09M33 PNR PNR Pentair 2026-06-16 17:05:54
22 IE00BTN1Y115 MDT MDT Medtronic 2026-06-16 17:05:54
23 IE00BY7QL619 JCI JCI Johnson Controls 2026-06-16 17:05:54
24 JE00BJ1F3079 AMCR AMCR Amcor 2026-06-16 19:00:10
25 JE00BTDN8H13 APTV APTV Aptiv 2026-06-16 17:05:54
26 JP3832370005 NWS NWS News Corp (Class B) 2026-06-16 17:05:54
27 LR0008862868 RCL RCL Royal Caribbean Group 2026-06-16 17:05:54
28 NL0009434992 LYB LYB LyondellBasell 2026-06-16 17:05:54
29 NL0009538784 NXPI NXPI NXP Semiconductors 2026-06-16 17:05:54
30 US0009041051 ADT ADT ADT Inc. 2026-06-16 19:00:10
31 US0010551028 AFL AFL Aflac 2026-06-16 19:00:10
32 US00130H1059 AES AES AES Corporation 2026-06-16 19:00:10
33 US0017651060 AAL AAL American Airlines Group 2026-06-16 19:00:10
34 US00206R1023 T T AT&T 2026-06-16 17:05:54
35 US0028241000 ABT ABT Abbott Laboratories 2026-06-16 19:00:10
36 US00287Y1091 ABBV ABBV AbbVie 2026-06-16 19:00:10
37 US00724F1012 ADBE ADBE Adobe Inc. 2026-06-16 19:00:10
38 US0079031078 AMD AMD Advanced Micro Devices 2026-06-16 19:00:10
39 US00846U1016 A A Agilent Technologies 2026-06-16 19:00:10
40 US0090661010 ABNB ABNB Airbnb 2026-06-16 19:00:10
41 US0091581068 APD APD Air Products and Chemicals 2026-06-16 19:00:10
42 US0097281069 AKAM AKAM Akamai 2026-06-16 19:00:10
43 US0126531013 ALB ALB Albemarle Corporation 2026-06-16 19:00:10
44 US0152711091 ARE ARE Alexandria Real Estate Equities 2026-06-16 19:00:10
45 US0162551016 ALGN ALGN Align Technology 2026-06-16 19:00:10
46 US0188021085 LNT LNT Alliant Energy 2026-06-16 19:00:10
47 US0200021014 ALL ALL Allstate 2026-06-16 19:00:10
48 US02079K1079 GOOG GOOG Alphabet Inc. (Class C) 2026-06-16 17:05:54
49 US02209S1033 MO MO Altria 2026-06-16 19:00:10
50 US0231351067 AMZN AMZN Amazon 2026-06-16 19:00:10
51 US0236081024 AEE AEE Ameren 2026-06-16 19:00:10
52 US0255371017 AEP AEP American Electric Power 2026-06-16 19:00:10
53 US0258161092 AXP AXP American Express 2026-06-16 19:00:10
54 US0268747849 AIG AIG American International Group 2026-06-16 19:00:10
55 US03027X1000 AMT AMT American Tower 2026-06-16 19:00:10
56 US0304201033 AWK AWK American Water Works 2026-06-16 19:00:10
57 US03076C1062 AMP AMP Ameriprise Financial 2026-06-16 19:00:10
58 US0311001004 AME AME Ametek 2026-06-16 19:00:10
59 US0311621009 AMGN AMGN Amgen 2026-06-16 19:00:10
60 US0320951017 APH APH Amphenol 2026-06-16 19:00:10
61 US0326541051 ADI ADI Analog Devices 2026-06-16 19:00:10
62 US03662Q1058 ANSS ANSS Ansys 2026-06-16 19:00:10
63 US0367521038 ELV ELV Elevance Health 2026-06-16 19:00:10
64 US03743Q1085 APA APA APA Corporation 2026-06-16 19:00:10
65 US03769M1062 APO APO Apollo Global Management 2026-06-16 19:00:10
66 US0378331005 AAPL AAPL Apple Inc. 2026-06-16 19:00:10
67 US0382221051 AMAT AMAT Applied Materials 2026-06-16 19:00:10
68 US03831W1080 APP APP AppLovin 2026-06-16 19:00:10
69 US0394831020 ADM ADM Archer-Daniels-Midland 2026-06-16 19:00:10
70 US03990B1017 ARES ARES Ares Management 2026-06-16 19:00:10
71 US0404132054 ANET ANET Arista Networks 2026-06-16 19:00:10
72 US04586V1026 AIZ AIZ Assurant 2026-06-16 19:00:10
73 US0495601058 ATO ATO Atmos Energy 2026-06-16 19:00:10
74 US0527691069 ADSK ADSK Autodesk 2026-06-16 19:00:10
75 US0530151036 ADP ADP Automatic Data Processing 2026-06-16 17:05:54
76 US0533321024 AZO AZO AutoZone 2026-06-16 19:00:10
77 US0534841012 AVB AVB AvalonBay Communities 2026-06-16 19:00:10
78 US0536111091 AVY AVY Avery Dennison 2026-06-16 19:00:10
79 US05464C1018 AXON AXON Axon Enterprise 2026-06-16 19:00:10
80 US05722G1004 BKR BKR Baker Hughes 2026-06-16 17:05:54
81 US0584981064 BALL BALL Ball Corporation 2026-06-16 19:00:10
82 US0605051046 BAC BAC Bank of America 2026-06-16 19:00:10
83 US0635761097 AJG AJG Arthur J. Gallagher & Co. 2026-06-16 19:00:10
84 US0640581007 BK BK The Bank of New York Mellon 2026-06-16 19:00:10
85 US0718131099 BAX BAX Baxter International 2026-06-16 19:00:10
86 US0758871014 BDX BDX Becton Dickinson 2026-06-16 19:00:10
87 US0846707026 BRK.B BRK.B Berkshire Hathaway 2026-06-16 19:00:10
88 US0865161014 BBY BBY Best Buy 2026-06-16 19:00:10
89 US09062X1037 BIIB BIIB Biogen 2026-06-16 19:00:10
90 US09073M1045 TECH TECH Bio-Techne 2026-06-16 17:05:54
91 US09260D1072 BX BX Blackstone Inc. 2026-06-16 18:22:24
92 US09290D1019 BLK BLK BlackRock 2026-06-16 19:00:10
93 US0970231058 BA BA Boeing 2026-06-16 19:00:10
94 US09857L1048 BKNG BKNG Booking Holdings 2026-06-16 19:00:10
95 US1011211018 BXP BXP BXP, Inc. 2026-06-16 19:00:10
96 US1011371077 BSX BSX Boston Scientific 2026-06-16 19:00:10
97 US1101221007 BMY BMY Bristol Myers Squibb 2026-06-16 19:00:10
98 US11133T1034 BR BR Broadridge Financial Solutions 2026-06-16 19:00:10
99 US11135F1012 AVGO AVGO Broadcom 2026-06-16 19:00:10
100 US1128071014 LRCX LRCX Lam Research 2026-06-16 19:00:10
101 US1152361010 BRO BRO Brown & Brown 2026-06-16 19:00:10
102 US1156372096 BF.B BF.B Brown-Forman 2026-06-16 19:00:10
103 US12008R1077 BLDR BLDR Builders FirstSource 2026-06-16 19:00:10
104 US12503M1080 CBOE CBOE Cboe Global Markets 2026-06-16 19:00:10
105 US12504L1098 CBRE CBRE CBRE Group 2026-06-16 19:00:10
106 US12514G1085 CDW CDW CDW 2026-06-16 19:00:10
107 US1252691001 CF CF CF Industries 2026-06-16 19:00:10
108 US12541W2098 CHRW CHRW C.H. Robinson 2026-06-16 19:00:10
109 US1255231003 CI CI The Cigna Group 2026-06-16 19:00:10
110 US12572Q1058 CME CME CME Group 2026-06-16 19:00:10
111 US1258961002 CMS CMS CMS Energy 2026-06-16 19:00:10
112 US1264081035 CSX CSX CSX Corporation 2026-06-16 19:00:10
113 US1266501006 CVS CVS CVS Health 2026-06-16 19:00:10
114 US1273871087 CDNS CDNS Cadence Design Systems 2026-06-16 19:00:10
115 US1331311027 CPT CPT Camden Property Trust 2026-06-16 19:00:10
116 US1344291091 CPB CPB Campbell Soup Company 2026-06-16 19:00:10
117 US14040H1059 COF COF Capital One 2026-06-16 19:00:10
118 US14149Y1082 CAH CAH Cardinal Health 2026-06-16 19:00:10
119 US14448C1045 CARR CARR Carrier Global 2026-06-16 19:00:10
120 US1468691027 CVNA CVNA Carvana 2026-06-16 19:00:10
121 US1475281036 CASY CASY Casey's General Stores 2026-06-16 19:00:10
122 US1491231015 CAT CAT Caterpillar Inc. 2026-06-16 19:00:10
123 US1508701034 CE CE Celanese 2026-06-16 19:00:10
124 US15135B1017 CNC CNC Centene Corporation 2026-06-16 19:00:10
125 US15135U1097 COR COR Cencora 2026-06-16 18:26:35
126 US15189T1079 CNP CNP CenterPoint Energy 2026-06-16 19:00:10
127 US1598641074 CRL CRL Charles River Laboratories 2026-06-16 19:00:10
128 US16119P1084 CHTR CHTR Charter Communications 2026-06-16 19:00:10
129 US1667641005 CVX CVX Chevron Corporation 2026-06-16 19:00:10
130 US1696561059 CMG CMG Chipotle Mexican Grill 2026-06-16 19:00:10
131 US1713401024 CHD CHD Church & Dwight 2026-06-16 19:00:10
132 US1717791016 CIEN CIEN Ciena 2026-06-16 19:00:10
133 US1720621010 CINF CINF Cincinnati Financial 2026-06-16 19:00:10
134 US17275R1023 CSCO CSCO Cisco 2026-06-16 19:00:10
135 US1729081035 CTAS CTAS Cintas 2026-06-16 19:00:10
136 US1729674242 C C Citigroup 2026-06-16 19:00:10
137 US1746101054 CFG CFG Citizens Financial Group 2026-06-16 19:00:10
138 US1890541097 CLX CLX Clorox 2026-06-16 19:00:10
139 US1912161007 KO KO Coca-Cola Company (The) 2026-06-16 17:09:59
140 US1924461023 CTSH CTSH Cognizant 2026-06-16 18:28:03
141 US19247G1076 COHR COHR Coherent 2026-06-16 19:00:10
142 US19260U1051 COIN COIN Coinbase 2026-06-16 19:00:10
143 US1941621039 CL CL Colgate-Palmolive 2026-06-16 19:00:10
144 US1999081045 FIX FIX Comfort Systems USA 2026-06-16 19:00:10
145 US20030N1019 CMCSA CMCSA Comcast 2026-06-16 19:00:10
146 US2003401070 CMA CMA Comerica 2026-06-16 19:00:10
147 US2058871029 CAG CAG Conagra Brands 2026-06-16 19:00:10
148 US20825C1045 COP COP ConocoPhillips 2026-06-16 19:00:10
149 US2091151041 ED ED Consolidated Edison 2026-06-16 19:00:10
150 US21036P1084 STZ STZ Constellation Brands 2026-06-16 17:05:54
151 US21037T1097 CEG CEG Constellation Energy 2026-06-16 19:00:10
152 US21664A1025 COO COO The Cooper Companies 2026-06-16 19:00:10
153 US2172041061 CPRT CPRT Copart 2026-06-16 19:00:10
154 US2193501051 GLW GLW Corning Inc. 2026-06-16 19:00:10
155 US22052L1044 CTVA CTVA Corteva 2026-06-16 19:00:10
156 US22160K1051 COST COST Costco 2026-06-16 18:26:35
157 US22160N1090 CSGP CSGP CoStar Group 2026-06-16 19:00:10
158 US22788C1053 CRWD CRWD CrowdStrike 2026-06-16 19:00:10
159 US22822V1017 CCI CCI Crown Castle 2026-06-16 19:00:10
160 US2283681060 CCK CCK Crown Holdings 2026-06-16 19:00:10
161 US2310211063 CMI CMI Cummins 2026-06-16 19:00:10
162 US23331A1097 DHI DHI D.R. Horton 2026-06-16 19:00:10
163 US2333311072 DTE DTE DTE Energy 2026-06-16 19:00:10
164 US2358511028 DHR DHR Danaher Corporation 2026-06-16 19:00:10
165 US2371941053 DRI DRI Darden Restaurants 2026-06-16 19:00:10
166 US23804L1035 DDOG DDOG Datadog 2026-06-16 19:00:10
167 US23918K1088 DVA DVA DaVita Inc. 2026-06-16 19:00:10
168 US2441991054 DE DE John Deere 2026-06-16 19:00:10
169 US24703L2025 DELL DELL Dell Technologies 2026-06-16 19:00:10
170 US2473617023 DAL DAL Delta Air Lines 2026-06-16 19:00:10
171 US25179M1036 DVN DVN Devon Energy 2026-06-16 19:00:10
172 US2521311074 DXCM DXCM Dexcom 2026-06-16 19:00:10
173 US25278X1090 FANG FANG Diamondback Energy 2026-06-16 19:00:10
174 US2538681030 DLR DLR Digital Realty 2026-06-16 17:05:54
175 US2546871060 DIS DIS Walt Disney 2026-06-16 19:00:10
176 US2566771059 DG DG Dollar General 2026-06-16 19:00:10
177 US2567461080 DLTR DLTR Dollar Tree 2026-06-16 19:00:10
178 US25746U1097 DOV DOV Dover Corporation 2026-06-16 19:00:10
179 US25754A2015 DPZ DPZ Domino's 2026-06-16 19:00:10
180 US2605571031 DOW DOW Dow Inc. 2026-06-16 19:00:10
181 US26441C2044 DUK DUK Duke Energy 2026-06-16 19:00:10
182 US26614N1028 DD DD DuPont 2026-06-16 19:00:10
183 US26875P1012 EOG EOG EOG Resources 2026-06-16 19:00:10
184 US26884L1098 EQT EQT EQT Corporation 2026-06-16 19:00:10
185 US2786421030 EBAY EBAY eBay 2026-06-16 19:00:10
186 US2787681061 SATS SATS EchoStar 2026-06-16 18:51:11
187 US2788651006 ECL ECL Ecolab 2026-06-16 19:00:10
188 US2810201077 EIX EIX Edison International 2026-06-16 19:00:10
189 US28176E1082 EW EW Edwards Lifesciences 2026-06-16 19:00:10
190 US2855121099 EA EA Electronic Arts 2026-06-16 19:00:10
191 US29084Q1004 EME EME EMCOR Group 2026-06-16 19:00:10
192 US2910111044 EMR EMR Emerson Electric 2026-06-16 19:00:10
193 US29364G1031 ETR ETR Entergy 2026-06-16 19:00:10
194 US29414B1044 EPAM EPAM EPAM Systems 2026-06-16 19:00:10
195 US2944291051 EFX EFX Equifax 2026-06-16 19:00:10
196 US29444U7000 EQIX EQIX Equinix 2026-06-16 19:00:10
197 US29476L1070 EQR EQR Equity Residential 2026-06-16 19:00:10
198 US29530P1021 ERIE ERIE Erie Indemnity 2026-06-16 19:00:10
199 US2971721029 ESS ESS Essex Property Trust 2026-06-16 19:00:10
200 US30034W1062 EVRG EVRG Evergy 2026-06-16 19:00:10
201 US30161N1019 EXE EXE Expand Energy 2026-06-16 19:00:10
202 US30212P3038 EXPE EXPE Expedia Group 2026-06-16 19:00:10
203 US3021301094 EXPD EXPD Expeditors International 2026-06-16 19:00:10
204 US30225T1025 EXR EXR Extra Space Storage 2026-06-16 19:00:10
205 US30231G1022 XOM XOM ExxonMobil 2026-06-16 18:27:40
206 US3024913036 FMC FMC FMC Corporation 2026-06-16 19:00:10
207 US30303M1027 META META Meta Platforms 2026-06-16 17:05:54
208 US3030751057 FDS FDS FactSet 2026-06-16 19:00:10
209 US3032501047 FICO FICO Fair Isaac 2026-06-16 19:00:10
210 US3119001044 FAST FAST Fastenal 2026-06-16 19:00:10
211 US3137451015 FRT FRT Federal Realty 2026-06-16 19:00:10
212 US31428X1063 FDX FDX FedEx 2026-06-16 19:00:10
213 US3143521058 FDXF FDXF FedEx Freight 2026-06-16 17:05:54
214 US3156161024 FFIV FFIV F5, Inc. 2026-06-16 19:00:10
215 US31620M1062 FIS FIS Fidelity National Information Services 2026-06-16 19:00:10
216 US3167731005 FITB FITB Fifth Third Bank 2026-06-16 19:00:10
217 US3364331070 FLT FLT Business Fuel Cards (Corpay) 2026-06-16 19:00:10
218 US3377381088 FISV FISV Fiserv 2026-06-16 19:00:10
219 US3379321074 FE FE FirstEnergy 2026-06-16 19:00:10
220 US34959E1091 FTNT FTNT Fortinet 2026-06-16 19:00:10
221 US34959J1084 FTV FTV Fortive 2026-06-16 19:00:10
222 US35137L1052 FOXA FOXA Fox Corporation (Class A) 2026-06-16 19:00:10
223 US35137L2043 FOX FOX Fox Corporation (Class B) 2026-06-16 19:00:10
224 US3546131018 BEN BEN Franklin Templeton 2026-06-16 19:00:10
225 US35671D8570 FCX FCX Freeport-McMoRan 2026-06-16 19:00:10
226 US36266G1076 GEHC GEHC GE HealthCare 2026-06-16 19:00:10
227 US3666511072 IT IT Gartner 2026-06-16 19:00:10
228 US3687361044 GNRC GNRC Generac 2026-06-16 17:05:54
229 US3695501086 GD GD General Dynamics 2026-06-16 19:00:10
230 US3696043013 GEV GEV GE Vernova 2026-06-16 19:00:10
231 US3703341046 GIS GIS General Mills 2026-06-16 19:00:10
232 US37045V1008 GM GM General Motors 2026-06-16 19:00:10
233 US3746891040 GPC GPC Genuine Parts Company 2026-06-16 19:00:10
234 US3755581036 GILD GILD Gilead Sciences 2026-06-16 19:00:10
235 US37940X1028 GPN GPN Global Payments 2026-06-16 19:00:10
236 US37959E1029 GL GL Globe Life 2026-06-16 19:00:10
237 US3802371076 GNDY GNDY GoDaddy 2026-06-16 19:00:10
238 US38141G1040 GS GS Goldman Sachs 2026-06-16 19:00:10
239 US3848021040 GWW GWW W. W. Grainger 2026-06-16 19:00:10
240 US40412C1018 HCA HCA HCA Healthcare 2026-06-16 19:00:10
241 US40434L1052 HPQ HPQ HP Inc. 2026-06-16 19:00:10
242 US4062161017 HAL HAL Halliburton 2026-06-16 18:51:11
243 US4165151048 HIG HIG The Hartford 2026-06-16 19:00:10
244 US4180561072 HAS HAS Hasbro 2026-06-16 19:00:10
245 US42250P1030 DOC DOC Healthpeak Properties 2026-06-16 19:00:10
246 US4262811015 JKHY JKHY Jack Henry & Associates 2026-06-16 19:00:10
247 US4278661081 HSY HSY The Hershey Company 2026-06-16 19:00:10
248 US42824C1099 HPE HPE Hewlett Packard Enterprise 2026-06-16 18:51:11
249 US43300A2033 HD HD Home Depot 2026-06-16 19:00:10
250 US4404521001 HRL HRL Hormel Foods 2026-06-16 19:00:10
251 US44107P1049 HST HST Host Hotels & Resorts 2026-06-16 19:00:10
252 US4432011017 HON HON Honeywell 2026-06-16 17:05:54
253 US4432011082 HWM HWM Howmet Aerospace 2026-06-16 19:00:10
254 US4435106079 HUBB HUBB Hubbell Incorporated 2026-06-16 19:00:10
255 US4448591028 HUM HUM Humana 2026-06-16 19:00:10
256 US4456581077 JBHT JBHT J.B. Hunt 2026-06-16 19:00:10
257 US4461501045 HBAN HBAN Huntington Bancshares 2026-06-16 19:00:10
258 US4464131063 HII HII Huntington Ingalls Industries 2026-06-16 19:00:10
259 US45167R1041 IEX IEX IDEX Corporation 2026-06-16 19:00:10
260 US45168D1046 IDXX IDXX IDEXX Laboratories 2026-06-16 19:00:10
261 US4523081093 ITW ITW Illinois Tool Works 2026-06-16 19:00:10
262 US45337C1027 INCY INCY Incyte 2026-06-16 19:00:10
263 US4553708600 F F Ford Motor Company 2026-06-16 19:00:10
264 US45687V1061 IR IR Ingersoll Rand 2026-06-16 19:00:10
265 US45784P1012 PODD PODD Insulet Corporation 2026-06-16 18:51:11
266 US4581401001 INTC INTC Intel 2026-06-16 19:00:10
267 US45841N1072 IBKR IBKR Interactive Brokers 2026-06-16 19:00:10
268 US45866F1043 ICE ICE Intercontinental Exchange 2026-06-16 19:00:10
269 US4592001014 IBM IBM IBM 2026-06-16 19:00:10
270 US4595061015 IFF IFF International Flavors & Fragrances 2026-06-16 19:00:10
271 US4601461035 IP IP International Paper 2026-06-16 19:00:10
272 US4612021034 INTU INTU Intuit 2026-06-16 19:00:10
273 US46120E6023 ISRG ISRG Intuitive Surgical 2026-06-16 19:00:10
274 US46187W1071 INVH INVH Invitation Homes 2026-06-16 19:00:10
275 US46266C1053 IQV IQV IQVIA 2026-06-16 19:00:10
276 US46284V1017 IRM IRM Iron Mountain 2026-06-16 19:00:10
277 US46625H1005 JPM JPM JPMorgan Chase 2026-06-16 19:00:10
278 US4663131039 JBL JBL Jabil 2026-06-16 19:00:10
279 US46982L1089 J J Jacobs Solutions 2026-06-16 19:00:10
280 US4781281010 SJM SJM J.M. Smucker Company (The) 2026-06-16 18:51:11
281 US4781601046 JNJ JNJ Johnson & Johnson 2026-06-16 19:00:10
282 US4824801009 KLAC KLAC KLA Corporation 2026-06-16 19:00:10
283 US48251W1045 KKR KKR KKR & Co. 2026-06-16 17:05:54
284 US49177J1025 KVUE KVUE Kenvue 2026-06-16 19:00:10
285 US49271V1008 KDP KDP Keurig Dr Pepper 2026-06-16 19:00:10
286 US4932671088 KEY KEY KeyCorp 2026-06-16 19:00:10
287 US49338L1035 KEYS KEYS Keysight 2026-06-16 19:00:10
288 US4943681035 KMB KMB Kimberly-Clark 2026-06-16 19:00:10
289 US49446R1095 KIM KIM Kimco Realty 2026-06-16 19:00:10
290 US49456B1017 KMI KMI Kinder Morgan 2026-06-16 19:00:10
291 US5007541064 KHC KHC Kraft Heinz 2026-06-16 19:00:10
292 US5010441013 KR KR Kroger 2026-06-16 19:00:10
293 US5024311095 LHX LHX L3Harris 2026-06-16 19:00:10
294 US5049221055 LH LH Labcorp 2026-06-16 19:00:10
295 US5178341070 LVS LVS Las Vegas Sands 2026-06-16 19:00:10
296 US5184391044 EL EL Estée Lauder Companies 2026-06-16 19:00:10
297 US5253271028 LDOS LDOS Leidos 2026-06-16 19:00:10
298 US5260571048 LEN LEN Lennar 2026-06-16 19:00:10
299 US5261071071 LII LII Lennox International 2026-06-16 19:00:10
300 US5324571083 LLY LLY Eli Lilly & Co. 2026-06-16 19:00:10
301 US5380341090 LYV LYV Live Nation Entertainment 2026-06-16 19:00:10
302 US5398301094 LMT LMT Lockheed Martin 2026-06-16 19:00:10
303 US5404241031 L L Loews Corporation 2026-06-16 19:00:10
304 US5486611073 LOW LOW Lowe's 2026-06-16 19:00:10
305 US5500211090 LULU LULU Lululemon Athletica 2026-06-16 19:00:10
306 US55024U1097 LITE LITE Lumentum 2026-06-16 19:00:10
307 US55261F1043 MTB MTB M&T Bank 2026-06-16 19:00:10
308 US5529531015 MGM MGM MGM Resorts 2026-06-16 19:00:10
309 US55354G1004 MSCI MSCI MSCI Inc. 2026-06-16 19:00:10
310 US56585A1025 MPC MPC Marathon Petroleum 2026-06-16 19:00:10
311 US5717481023 MRSH MRSH Marsh & McLennan 2026-06-16 19:00:10
312 US5719032022 MAR MAR Marriott International 2026-06-16 18:27:17
313 US5732841060 MLM MLM Martin Marietta Materials 2026-06-16 17:05:54
314 US5745991068 MAS MAS Masco 2026-06-16 18:27:17
315 US57636Q1040 MA MA Mastercard 2026-06-16 18:27:17
316 US5801351017 MCD MCD McDonald's 2026-06-16 18:27:17
317 US58155Q1031 MCK MCK McKesson Corporation 2026-06-16 18:27:17
318 US5825211047 MKC MKC McCormick & Company 2026-06-16 18:27:17
319 US59156R1086 MET MET MetLife 2026-06-16 17:05:54
320 US5926881054 MTD MTD Mettler Toledo 2026-06-16 17:05:54
321 US5949181045 MSFT MSFT Microsoft 2026-06-16 18:27:18
322 US5950171042 MCHP MCHP Microchip Technology 2026-06-16 18:27:17
323 US5951121038 MU MU Micron Technology 2026-06-16 17:05:54
324 US59522J1034 MAA MAA Mid-America Apartment Communities 2026-06-16 17:05:54
325 US60770K1079 MRNA MRNA Moderna 2026-06-16 17:05:54
326 US60871R1023 TAP TAP Molson Coors Beverage Company 2026-06-16 18:51:11
327 US6092071563 MDLZ MDLZ Mondelez International 2026-06-16 18:27:17
328 US6098391054 MCO MCO Moody's Corporation 2026-06-16 18:27:17
329 US61174X1090 MNST MNST Monster Beverage 2026-06-16 18:51:11
330 US6174464486 MS MS Morgan Stanley 2026-06-16 17:05:54
331 US61945C1036 MOS MOS Mosaic Company (The) 2026-06-16 18:51:11
332 US6200763075 MSI MSI Motorola Solutions 2026-06-16 17:05:54
333 US6293775085 NRG NRG NRG Energy 2026-06-16 17:05:54
334 US62944T1051 NVR NVR NVR, Inc. 2026-06-16 17:05:54
335 US6311031081 NDAQ NDAQ Nasdaq, Inc. 2026-06-16 17:05:54
336 US64110D1046 NTAP NTAP NetApp 2026-06-16 17:05:54
337 US64110L1061 NFLX NFLX Netflix 2026-06-16 17:05:54
338 US6516391066 NEM NEM Newmont 2026-06-16 17:05:54
339 US65339F1012 NEE NEE NextEra Energy 2026-06-16 17:05:54
340 US6541061031 NKE NKE Nike, Inc. 2026-06-16 17:05:54
341 US65473P1057 NI NI NiSource 2026-06-16 17:05:54
342 US6556631008 NDSN NDSN Nordson Corporation 2026-06-16 18:51:11
343 US6558441084 NSC NSC Norfolk Southern 2026-06-16 18:51:11
344 US6658591044 NTRS NTRS Northern Trust 2026-06-16 18:51:11
345 US6687711084 NOC NOC Northrop Grumman 2026-06-16 18:51:11
346 US66987P1012 ES ES Eversource Energy 2026-06-16 19:00:10
347 US6703461052 NUE NUE Nucor 2026-06-16 18:51:11
348 US67066G1040 NVDA NVDA Nvidia 2026-06-16 18:27:23
349 US6745991058 OXY OXY Occidental Petroleum 2026-06-16 18:51:11
350 US6795801009 ODFL ODFL Old Dominion 2026-06-16 17:05:54
351 US6819191064 OMC OMC Omnicom Group 2026-06-16 17:05:54
352 US6821891057 ON ON ON Semiconductor 2026-06-16 18:51:11
353 US6826801036 OKE OKE Oneok 2026-06-16 17:05:54
354 US68389X1054 ORCL ORCL Oracle Corporation 2026-06-16 18:28:03
355 US6852181040 ORLY ORLY O’Reilly Automotive 2026-06-16 18:51:11
356 US68902V1070 OTIS OTIS Otis Worldwide 2026-06-16 17:05:54
357 US69331C1080 PCG PCG PG&E Corporation 2026-06-16 18:51:11
358 US6934751057 PNC PNC PNC Financial Services 2026-06-16 17:05:54
359 US6935061076 PPG PPG PPG Industries 2026-06-16 17:05:54
360 US69351T1060 PPL PPL PPL Corporation 2026-06-16 17:05:54
361 US69370C1009 PTC PTC PTC Inc. 2026-06-16 17:05:54
362 US6937181088 PCAR PCAR Paccar 2026-06-16 17:05:54
363 US6951561090 PKG PKG Packaging Corporation of America 2026-06-16 18:51:11
364 US69608A1088 PLTR PLTR Palantir Technologies 2026-06-16 18:51:11
365 US6974351057 PANW PANW Palo Alto Networks 2026-06-16 17:05:54
366 US7010941042 PH PH Parker Hannifin 2026-06-16 18:51:11
367 US7043261079 PAYX PAYX Paychex 2026-06-16 17:05:54
368 US70450Y1038 PYPL PYPL PayPal 2026-06-16 18:28:07
369 US7134481081 PEP PEP PepsiCo 2026-06-16 17:05:54
370 US7170811035 PFE PFE Pfizer 2026-06-16 17:05:54
371 US7181721090 PM PM Philip Morris International 2026-06-16 17:05:54
372 US7185461040 PSX PSX Phillips 66 2026-06-16 17:05:54
373 US7234841010 PNW PNW Pinnacle West Capital 2026-06-16 18:51:11
374 US73278L1052 POOL POOL Pool Corporation 2026-06-16 17:05:54
375 US74144T1088 TROW TROW T. Rowe Price 2026-06-16 17:05:54
376 US74251V1026 PFG PFG Principal Financial Group 2026-06-16 17:05:54
377 US7427181094 PG PG Procter & Gamble 2026-06-16 18:27:26
378 US7433151039 PGR PGR Progressive Corporation 2026-06-16 18:51:11
379 US74340W1036 PLD PLD Prologis 2026-06-16 17:05:54
380 US7443201022 PRU PRU Prudential Financial 2026-06-16 17:05:54
381 US7445731067 PEG PEG Public Service Enterprise Group 2026-06-16 17:05:54
382 US74460D1090 PSA PSA Public Storage 2026-06-16 17:05:54
383 US7458671010 PHM PHM PulteGroup 2026-06-16 17:05:54
384 US74624M1027 RL RL Ralph Lauren Corporation 2026-06-16 18:51:11
385 US7475251036 QCOM QCOM Qualcomm 2026-06-16 18:27:32
386 US74762E1029 PWR PWR Quanta Services 2026-06-16 17:05:54
387 US74834L1008 DGX DGX Quest Diagnostics 2026-06-16 19:00:10
388 US74955A1051 RVTY RVTY Revvity 2026-06-16 18:51:11
389 US7547301090 RJF RJF Raymond James Financial 2026-06-16 17:05:54
390 US75513E1010 RTX RTX RTX Corporation 2026-06-16 17:05:54
391 US7561091049 O O Realty Income 2026-06-16 18:28:05
392 US7588491032 REG REG Regency Centers 2026-06-16 18:51:11
393 US75886F1075 REGN REGN Regeneron Pharmaceuticals 2026-06-16 17:05:54
394 US7591EP1011 RF RF Regions Financial Corporation 2026-06-16 18:51:11
395 US7607591002 RSG RSG Republic Services 2026-06-16 17:05:54
396 US7611521078 RMD RMD ResMed 2026-06-16 17:05:54
397 US77313F1066 HOOD HOOD Robinhood Markets 2026-06-16 19:00:10
398 US7739031091 ROK ROK Rockwell Automation 2026-06-16 17:05:54
399 US7757111049 ROL ROL Rollins, Inc. 2026-06-16 17:05:54
400 US7766961061 ROP ROP Roper Technologies 2026-06-16 17:05:54
401 US7782961038 ROST ROST Ross Stores 2026-06-16 17:05:54
402 US78409V1044 SPGI SPGI S&P Global 2026-06-16 17:05:54
403 US78410G1040 SBAC SBAC SBA Communications 2026-06-16 17:05:54
404 US78430Q1013 AOS AOS A. O. Smith 2026-06-16 19:00:10
405 US78464A6982 KRE KRE SPDR S&P Regional Banking 2026-06-16 19:00:10
406 US79466L3024 CRM CRM Salesforce 2026-06-16 19:00:10
407 US8064071025 HSIC HSIC Henry Schein 2026-06-16 17:05:54
408 US8085131055 SCHW SCHW Charles Schwab Corporation 2026-06-16 18:51:11
409 US8168511090 SRE SRE Sempra 2026-06-16 18:51:11
410 US81762P1021 NOW NOW ServiceNow 2026-06-16 17:05:54
411 US8243481061 SHW SHW Sherwin-Williams 2026-06-16 18:51:11
412 US8288061091 SPG SPG Simon Property Group 2026-06-16 17:05:54
413 US83088M1027 SWKS SWKS Skyworks Solutions 2026-06-16 17:05:54
414 US8330341012 SNA SNA Snap-on 2026-06-16 18:51:11
415 US8425871071 SO SO Southern Company 2026-06-16 18:28:08
416 US8447411088 LUV LUV Southwest Airlines 2026-06-16 18:27:17
417 US84574X1019 SOLV SOLV Solventum 2026-06-16 18:51:11
418 US8545021011 SWK SWK Stanley Black & Decker 2026-06-16 17:05:54
419 US8552441094 SBUX SBUX Starbucks 2026-06-16 18:28:07
420 US8574771031 STT STT State Street Corporation 2026-06-16 18:51:11
421 US8581191009 STLD STLD Steel Dynamics 2026-06-16 17:05:54
422 US8591521005 STE STE Steris 2026-06-16 18:51:11
423 US8636671013 SYK SYK Stryker Corporation 2026-06-16 18:27:36
424 US86800U3023 SMCI SMCI Supermicro 2026-06-16 17:05:54
425 US8716071076 SNPS SNPS Synopsys 2026-06-16 17:05:54
426 US87165B1035 SYF SYF Synchrony Financial 2026-06-16 17:05:54
427 US8718291030 SYY SYY Sysco 2026-06-16 18:51:11
428 US8725401090 TJX TJX TJX Companies 2026-06-16 17:05:54
429 US87256C1018 TKO TKO TKO Group Holdings 2026-06-16 17:05:54
430 US8725901040 TTWO TTWO Take-Two Interactive 2026-06-16 18:51:11
431 US8760301072 TPR TPR Tapestry, Inc. 2026-06-16 18:51:11
432 US87612E1064 TGT TGT Target Corporation 2026-06-16 18:51:11
433 US87612G1013 TRGP TRGP Targa Resources 2026-06-16 18:51:11
434 US8793601058 TDY TDY Teledyne Technologies 2026-06-16 18:51:11
435 US8807701029 TER TER Teradyne 2026-06-16 17:05:54
436 US88160R1014 TSLA TSLA Tesla, Inc. 2026-06-16 18:27:38
437 US8825081040 TXN TXN Texas Instruments 2026-06-16 18:27:38
438 US88262P1021 TPL TPL Texas Pacific Land Corporation 2026-06-16 18:51:11
439 US8832031012 TXT TXT Textron 2026-06-16 17:05:54
440 US88339J1051 TTD TTD Trade Desk (The) 2026-06-16 17:05:54
441 US8835561023 TMO TMO Thermo Fisher Scientific 2026-06-16 17:05:54
442 US88579Y1010 MMM MMM 3M 2026-06-16 18:27:17
443 US8923561067 TSCO TSCO Tractor Supply 2026-06-16 18:51:11
444 US89235Q1011 SQ SQ Block, Inc. 2026-06-16 19:00:10
445 US8932351081 TDG TDG TransDigm Group 2026-06-16 18:51:11
446 US89417E1091 TRV TRV Travelers Companies (The) 2026-06-16 18:51:11
447 US8962391004 TRMB TRMB Trimble Inc. 2026-06-16 18:51:11
448 US89832Q1094 TFC TFC Truist Financial 2026-06-16 17:05:54
449 US9022521051 TYL TYL Tyler Technologies 2026-06-16 17:05:54
450 US9024941034 TSN TSN Tyson Foods 2026-06-16 17:05:54
451 US9026531049 UDR UDR UDR, Inc. 2026-06-16 17:05:54
452 US9029733048 USB USB U.S. Bancorp 2026-06-16 17:05:54
453 US90353T1007 UBER UBER Uber 2026-06-16 17:05:54
454 US90384S3031 ULTA ULTA Ulta Beauty 2026-06-16 17:05:54
455 US9078181081 UNP UNP Union Pacific Corporation 2026-06-16 18:28:11
456 US9100471096 UAL UAL United Airlines Holdings 2026-06-16 17:05:54
457 US9113121068 UPS UPS United Parcel Service 2026-06-16 17:05:54
458 US9113631090 URI URI United Rentals 2026-06-16 17:05:54
459 US91324P1021 UNH UNH UnitedHealth Group 2026-06-16 18:27:38
460 US9139031002 UHS UHS Universal Health Services 2026-06-16 17:05:54
461 US92047W1018 VLO VLO Valero Energy 2026-06-16 18:28:11
462 US9224751084 VEEV VEEV Veeva Systems 2026-06-16 17:05:54
463 US92276F1003 VTR VTR Ventas 2026-06-16 17:05:54
464 US92338C1036 VLTO VLTO Veralto 2026-06-16 17:05:54
465 US92343E1029 VRSN VRSN Verisign 2026-06-16 17:05:54
466 US92343V1044 VZ VZ Verizon 2026-06-16 17:05:54
467 US92345Y1064 VRSK VRSK Verisk Analytics 2026-06-16 17:05:54
468 US9253401031 VRT VRT Vertiv 2026-06-16 18:51:11
469 US92556H2067 PSKY PSKY Paramount Skydance Corporation 2026-06-16 18:51:11
470 US92556V1061 VTRS VTRS Viatris 2026-06-16 17:05:54
471 US9256521090 VICI VICI Vici Properties 2026-06-16 17:05:54
472 US92826C8394 V V Visa Inc. 2026-06-16 17:05:54
473 US92840M1027 VST VST Vistra Corp. 2026-06-16 17:05:54
474 US9290421011 VMC VMC Vulcan Materials Company 2026-06-16 18:28:11
475 US9293251000 WRB WRB W. R. Berkley Corporation 2026-06-16 18:51:11
476 US92939U1060 WEC WEC WEC Energy Group 2026-06-16 17:05:54
477 US9297401088 WAB WAB Wabtec 2026-06-16 17:05:54
478 US9311421039 WMT WMT Walmart 2026-06-16 17:05:54
479 US9344231041 WBD WBD Warner Bros. Discovery 2026-06-16 18:51:11
480 US94106L1098 WM WM Waste Management 2026-06-16 17:05:54
481 US9418481035 WAT WAT Waters Corporation 2026-06-16 18:51:11
482 US9497461015 WFC WFC Wells Fargo 2026-06-16 18:28:11
483 US95040Q1040 WELL WELL Welltower 2026-06-16 17:05:54
484 US9553061055 WST WST West Pharmaceutical Services 2026-06-16 17:05:54
485 US9581021055 WDC WDC Western Digital 2026-06-16 18:51:11
486 US9621661089 WY WY Weyerhaeuser 2026-06-16 18:51:11
487 US9694571004 WMB WMB Williams Companies 2026-06-16 18:51:11
488 US9699041011 WSM WSM Williams-Sonoma, Inc. 2026-06-16 17:05:54
489 US98138H1014 WDAY WDAY Workday, Inc. 2026-06-16 17:05:54
490 US9831341071 WYNN WYNN Wynn Resorts 2026-06-16 17:05:54
491 US98389B1008 XEL XEL Xcel Energy 2026-06-16 17:05:54
492 US98419M1009 XYL XYL Xylem Inc. 2026-06-16 17:05:54
493 US9884981013 YUM YUM Yum! Brands 2026-06-16 17:05:54
494 US9892071054 ZBRA ZBRA Zebra Technologies 2026-06-16 19:00:10
495 US98956P1021 ZBH ZBH Zimmer Biomet 2026-06-16 18:28:12
496 US98978V1035 ZTS ZTS Zoetis 2026-06-16 17:05:54
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 630 B

+5
View File
@@ -0,0 +1,5 @@
{
"require": {
"phpmailer/phpmailer": "^7.1"
}
}
Generated
+101
View File
@@ -0,0 +1,101 @@
{
"_readme": [
"This file locks the dependencies of your project to a known state",
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "c7173d6a700b02b111e51b703acd8c8e",
"packages": [
{
"name": "phpmailer/phpmailer",
"version": "v7.1.1",
"source": {
"type": "git",
"url": "https://github.com/PHPMailer/PHPMailer.git",
"reference": "1bc1716a507a65e039d4ac9d9adebbbd0d346e15"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/1bc1716a507a65e039d4ac9d9adebbbd0d346e15",
"reference": "1bc1716a507a65e039d4ac9d9adebbbd0d346e15",
"shasum": ""
},
"require": {
"ext-ctype": "*",
"ext-filter": "*",
"ext-hash": "*",
"php": ">=5.5.0"
},
"require-dev": {
"dealerdirect/phpcodesniffer-composer-installer": "^1.0",
"doctrine/annotations": "^1.2.6 || ^1.13.3",
"php-parallel-lint/php-console-highlighter": "^1.0.0",
"php-parallel-lint/php-parallel-lint": "^1.3.2",
"phpcompatibility/php-compatibility": "^10.0.0@dev",
"squizlabs/php_codesniffer": "^3.13.5",
"yoast/phpunit-polyfills": "^1.0.4"
},
"suggest": {
"decomplexity/SendOauth2": "Adapter for using XOAUTH2 authentication",
"directorytree/imapengine": "For uploading sent messages via IMAP, see gmail example",
"ext-imap": "Needed to support advanced email address parsing according to RFC822",
"ext-mbstring": "Needed to send email in multibyte encoding charset or decode encoded addresses",
"ext-openssl": "Needed for secure SMTP sending and DKIM signing",
"greew/oauth2-azure-provider": "Needed for Microsoft Azure XOAUTH2 authentication",
"hayageek/oauth2-yahoo": "Needed for Yahoo XOAUTH2 authentication",
"league/oauth2-google": "Needed for Google XOAUTH2 authentication",
"psr/log": "For optional PSR-3 debug logging",
"symfony/polyfill-mbstring": "To support UTF-8 if the Mbstring PHP extension is not enabled (^1.2)",
"thenetworg/oauth2-azure": "Needed for Microsoft XOAUTH2 authentication"
},
"type": "library",
"autoload": {
"psr-4": {
"PHPMailer\\PHPMailer\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"LGPL-2.1-only"
],
"authors": [
{
"name": "Marcus Bointon",
"email": "phpmailer@synchromedia.co.uk"
},
{
"name": "Jim Jagielski",
"email": "jimjag@gmail.com"
},
{
"name": "Andy Prevost",
"email": "codeworxtech@users.sourceforge.net"
},
{
"name": "Brent R. Matzelle"
}
],
"description": "PHPMailer is a full-featured email creation and transfer class for PHP",
"support": {
"issues": "https://github.com/PHPMailer/PHPMailer/issues",
"source": "https://github.com/PHPMailer/PHPMailer/tree/v7.1.1"
},
"funding": [
{
"url": "https://github.com/Synchro",
"type": "github"
}
],
"time": "2026-05-18T08:06:14+00:00"
}
],
"packages-dev": [],
"aliases": [],
"minimum-stability": "stable",
"stability-flags": [],
"prefer-stable": false,
"prefer-lowest": false,
"platform": [],
"platform-dev": [],
"plugin-api-version": "2.6.0"
}
Executable
+501
View File
@@ -0,0 +1,501 @@
/* ============================================
VARIABLES ET COULEURS - DARK MODE
============================================ */
:root {
--bg-primary: #121212;
--bg-secondary: #1e1e1e;
--bg-tertiary: #2a2a2a;
--text-primary: #e0e0e0;
--text-secondary: #b0b0b0;
--accent-color: #6200ee;
--accent-hover: #7c3aed;
--border-color: #333333;
--success-color: #4caf50;
--error-color: #f44336;
--warning-color: #ff9800;
}
/* ============================================
RESET ET STYLES GLOBAUX
============================================ */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
background-color: var(--bg-primary);
color: var(--text-primary);
line-height: 1.6;
font-size: 16px;
display: flex;
flex-direction: column;
min-height: 100vh;
}
.container {
width: 100%;
margin: 0 auto;
padding: 0;
}
/* ============================================
HEADER / NAVIGATION
============================================ */
.header {
background-color: var(--bg-secondary);
border-bottom: 1px solid var(--border-color);
padding: 10px 0;
position: sticky;
top: 0;
z-index: 1000;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
.header .container {
position: relative;
min-height: 50px;
width: 100%;
padding: 0 8px;
}
.logo {
position: absolute;
left: 8px;
top: 50%;
transform: translateY(-50%);
display: flex;
align-items: center;
padding-left: 0;
}
.site-title {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
font-size: 28px;
font-weight: 700;
color: var(--text-primary);
letter-spacing: 0.5px;
text-align: center;
margin-left: 0;
}
.user-info {
position: absolute;
right: 8px;
top: 50%;
transform: translateY(-50%);
display: flex;
flex-direction: column;
align-items: flex-end;
gap: 2px;
text-align: right;
color: var(--text-secondary);
font-size: 0.95rem;
line-height: 1.3;
white-space: nowrap;
margin-right: 0;
padding-right: 0;
}
.user-info span {
display: block;
}
.user-info .info-ip {
display: inline-flex;
align-items: center;
gap: 10px;
flex-wrap: wrap;
}
.info-date {
display: inline-block;
}
.logout-button {
display: inline-block;
padding: 4px 10px;
border-radius: 8px;
border: 1px solid var(--accent-color);
background: var(--accent-color);
color: #ffffff;
font-size: 0.9rem;
font-weight: 600;
text-decoration: none;
text-transform: uppercase;
letter-spacing: 0.5px;
transition: all 0.2s ease;
}
.logout-button:hover {
background: var(--accent-hover);
border-color: var(--accent-hover);
color: #ffffff;
}
.footer {
position: relative;
padding: 2px 20px;
text-align: center;
font-size: 0.85rem;
line-height: 1.1;
min-height: 28px;
display: flex;
align-items: center;
justify-content: center;
}
.footer-logout {
position: absolute;
right: 20px;
top: 50%;
transform: translateY(-50%);
}
.logo-img {
height: 50px;
width: auto;
display: block;
filter: brightness(1.1);
}
.site-title {
font-size: 28px;
font-weight: 700;
color: var(--text-primary);
letter-spacing: 0.5px;
text-align: center;
}
/* ============================================
MAIN CONTENT ET CONTAINER DE CONNEXION
============================================ */
.main-content {
flex: 1;
padding: 40px 20px;
display: flex;
justify-content: center;
align-items: center;
}
.login-container {
width: 100%;
max-width: 450px;
}
.login-box {
background-color: var(--bg-secondary);
padding: 40px;
border-radius: 12px;
border: 1px solid var(--border-color);
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
animation: slideUp 0.5s ease;
}
@keyframes slideUp {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.login-title {
font-size: 28px;
font-weight: 700;
color: var(--text-primary);
margin-bottom: 8px;
text-align: center;
}
.login-subtitle {
color: var(--text-secondary);
text-align: center;
font-size: 14px;
margin-bottom: 30px;
}
/* ============================================
FORMULAIRE
============================================ */
.login-form {
display: flex;
flex-direction: column;
gap: 20px;
}
.form-group {
display: flex;
flex-direction: column;
gap: 8px;
}
.form-label {
color: var(--text-primary);
font-weight: 600;
font-size: 14px;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.form-input {
background-color: var(--bg-tertiary);
border: 1px solid var(--border-color);
color: var(--text-primary);
padding: 12px 16px;
border-radius: 8px;
font-size: 16px;
transition: all 0.3s ease;
font-family: inherit;
}
.form-input:focus {
outline: none;
border-color: var(--accent-color);
background-color: rgba(98, 0, 238, 0.05);
box-shadow: 0 0 0 3px rgba(98, 0, 238, 0.1);
}
.form-input::placeholder {
color: var(--text-secondary);
opacity: 0.7;
}
/* ============================================
CHECKBOX
============================================ */
.form-group.checkbox {
flex-direction: row;
align-items: center;
gap: 10px;
}
.form-checkbox {
width: 18px;
height: 18px;
cursor: pointer;
accent-color: var(--accent-color);
}
.form-checkbox-label {
color: var(--text-secondary);
font-size: 14px;
font-weight: 400;
cursor: pointer;
text-transform: none;
letter-spacing: normal;
}
/* ============================================
BOUTON SUBMIT
============================================ */
.btn-submit {
background: linear-gradient(135deg, var(--accent-color), var(--accent-hover));
color: #ffffff;
padding: 12px 24px;
border: none;
border-radius: 8px;
font-size: 16px;
font-weight: 600;
cursor: pointer;
transition: all 0.3s ease;
text-transform: uppercase;
letter-spacing: 0.5px;
margin-top: 10px;
box-shadow: 0 4px 15px rgba(98, 0, 238, 0.4);
}
.btn-submit:hover {
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(98, 0, 238, 0.6);
}
.btn-submit:active {
transform: translateY(0);
}
.btn-submit:disabled {
background: var(--bg-tertiary);
color: var(--text-secondary);
cursor: not-allowed;
box-shadow: none;
}
/* ============================================
PIED DE FORMULAIRE
============================================ */
.login-footer {
text-align: center;
margin-top: 20px;
padding-top: 20px;
border-top: 1px solid var(--border-color);
display: flex;
justify-content: center;
align-items: center;
gap: 10px;
font-size: 14px;
}
.alert {
border-radius: 10px;
padding: 16px 18px;
margin-bottom: 20px;
font-size: 14px;
line-height: 1.5;
}
.alert-error {
background-color: rgba(244, 67, 54, 0.12);
border: 1px solid rgba(244, 67, 54, 0.25);
color: #ffb3b0;
}
.alert-success {
background-color: rgba(76, 175, 80, 0.12);
border: 1px solid rgba(76, 175, 80, 0.25);
color: #c8facc;
}
.forgot-password,
.signup-link {
color: var(--accent-color);
text-decoration: none;
transition: color 0.3s ease;
font-weight: 500;
}
.forgot-password:hover,
.signup-link:hover {
color: var(--accent-hover);
text-decoration: underline;
}
.separator {
color: var(--text-secondary);
}
/* ============================================
FOOTER
============================================ */
.footer {
background-color: var(--bg-secondary);
border-top: 1px solid var(--border-color);
padding: 20px;
text-align: center;
color: var(--text-secondary);
font-size: 13px;
margin-top: auto;
}
/* ============================================
RESPONSIVE DESIGN
============================================ */
@media (max-width: 768px) {
.header .container {
flex-direction: column;
gap: 20px;
}
.navbar {
margin-left: 0;
width: 100%;
}
.nav-menu {
flex-direction: column;
gap: 15px;
}
.logo-section {
width: 100%;
justify-content: center;
}
.site-title {
font-size: 24px;
}
.login-box {
padding: 30px 20px;
}
.login-title {
font-size: 24px;
}
.footer-content {
grid-template-columns: 1fr;
text-align: center;
}
.footer-section h3 {
margin-top: 15px;
}
}
@media (max-width: 480px) {
body {
font-size: 15px;
}
.main-content {
padding: 20px 15px;
}
.login-container {
max-width: 100%;
}
.login-box {
padding: 25px 15px;
border-radius: 10px;
}
.login-title {
font-size: 22px;
}
.nav-link {
font-size: 14px;
}
.form-input {
padding: 10px 12px;
font-size: 16px; /* Évite le zoom sur iOS */
}
.btn-submit {
padding: 11px 20px;
font-size: 15px;
}
.logo {
height: 40px;
}
.site-title {
font-size: 20px;
}
}
Executable
+79
View File
@@ -0,0 +1,79 @@
<?php
session_start();
$message = '';
if (!empty($_SESSION['login_error'])) {
$message = $_SESSION['login_error'];
unset($_SESSION['login_error']);
}
$successMessage = '';
if (!empty($_GET['registered'])) {
$successMessage = 'Votre compte a été créé. Vous pouvez maintenant vous connecter.';
}
?>
<?php require_once 'php/header.php'; ?>
<div class="login-container">
<div class="login-box">
<h2 class="login-title">Connexion</h2>
<p class="login-subtitle">Accédez à votre tableau de bord</p>
<?php if ($message): ?>
<div class="alert alert-error"><?php echo htmlspecialchars($message, ENT_QUOTES, 'UTF-8'); ?></div>
<?php endif; ?>
<?php if ($successMessage): ?>
<div class="alert alert-success"><?php echo htmlspecialchars($successMessage, ENT_QUOTES, 'UTF-8'); ?></div>
<?php endif; ?>
<form action="php/login_process.php" method="POST" class="login-form">
<div class="form-group">
<label for="login" class="form-label">Login</label>
<input
type="text"
id="login"
name="login"
class="form-input"
placeholder="Votre login"
required
autocomplete="username"
>
</div>
<div class="form-group">
<label for="password" class="form-label">Mot de passe</label>
<input
type="password"
id="password"
name="password"
class="form-input"
placeholder="••••••••"
required
autocomplete="current-password"
>
</div>
<div class="form-group checkbox">
<input
type="checkbox"
id="remember"
name="remember"
class="form-checkbox"
>
<label for="remember" class="form-checkbox-label">Rester connecté</label>
</div>
<button type="submit" class="btn-submit">Se connecter</button>
</form>
<div class="login-footer">
<a href="php/forgot_password.php" class="forgot-password">Mot de passe oublié ?</a>
<span class="separator">•</span>
<a href="php/register.php" class="signup-link">Créer un compte</a>
</div>
</div>
</div>
<?php require_once 'php/footer.php'; ?>
Executable
+16
View File
@@ -0,0 +1,16 @@
<?php
// On envoie explicitement le code d'erreur 404 au navigateur
http_response_code(404);
require_once('header.php');
?>
<div style="text-align: center; padding: 50px; color: white;">
<h1>Erreur 404</h1>
<p>Désolé, la page que vous recherchez est introuvable.</p>
<a href="/index.php" style="color: #007bff;">Retour à l'accueil</a>
</div>
<?php
require_once('footer.php');
?>
+366
View File
@@ -0,0 +1,366 @@
<?php
namespace App\Database;
use PDO;
use PDOException;
use RuntimeException;
/**
* Class Database
*
* Gère la connexion PDO à la base de données MySQL.
*/
class Database
{
private PDO $connection;
public const DB_HOST = '127.0.0.1';
public const DB_NAME = 'bolsa';
public const DB_USER = 'root';
public const DB_PASS = 'sysadm-1963';
public const DB_CHARSET = 'utf8mb4';
/**
* Database constructor.
*
* Initialise la connexion PDO.
*
* @throws RuntimeException
*/
public function __construct()
{
$dsn = sprintf(
'mysql:host=%s;dbname=%s;charset=%s',
self::DB_HOST,
self::DB_NAME,
self::DB_CHARSET
);
$options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];
try {
$this->connection = new PDO($dsn, self::DB_USER, self::DB_PASS, $options);
} catch (PDOException $exception) {
throw new RuntimeException('Connexion à la base de données impossible : ' . $exception->getMessage());
}
}
/**
* Retourne l'objet PDO.
*
* @return PDO
*/
public function getConnection(): PDO
{
return $this->connection;
}
/**
* Ferme la connexion PDO.
*
* @return void
*/
public function disconnect(): void
{
$this->connection = null;
}
}
/**
* Class LoginManager
*
* Fournit les opérations CRUD pour la table `login`.
*/
class LoginManager
{
private PDO $connection;
public function __construct(Database $database)
{
$this->connection = $database->getConnection();
}
/**
* Crée un nouvel utilisateur dans la table login.
*
* @param array $data
* @return int L'ID généré de l'utilisateur.
*/
public function create(array $data): int
{
$statement = $this->connection->prepare(
'INSERT INTO login (login, nom, prenom, mail, pass, actif, creer_le, modifie_le)
VALUES (:login, :nom, :prenom, :mail, :pass, :actif, NOW(), NOW())'
);
$hashedPassword = password_hash($data['pass'], PASSWORD_DEFAULT);
$actif = array_key_exists('actif', $data) ? (int) $data['actif'] : 0;
$statement->bindValue(':login', $data['login'], PDO::PARAM_STR);
$statement->bindValue(':nom', $data['nom'], PDO::PARAM_STR);
$statement->bindValue(':prenom', $data['prenom'], PDO::PARAM_STR);
$statement->bindValue(':mail', $data['mail'], PDO::PARAM_STR);
$statement->bindValue(':pass', $hashedPassword, PDO::PARAM_STR);
$statement->bindValue(':actif', $actif, PDO::PARAM_INT);
$statement->execute();
return (int) $this->connection->lastInsertId();
}
/**
* Lit un utilisateur par son ID.
*
* @param int $id
* @return array|null
*/
public function read(int $id): ?array
{
$statement = $this->connection->prepare(
'SELECT id, login, nom, prenom, mail, creer_le, modifie_le
FROM login
WHERE id = :id'
);
$statement->bindValue(':id', $id, PDO::PARAM_INT);
$statement->execute();
$result = $statement->fetch();
return $result === false ? null : $result;
}
/**
* Met à jour un utilisateur.
*
* @param int $id
* @param array $data
* @return bool
*/
public function update(int $id, array $data): bool
{
$fields = [];
$params = [':id' => $id];
if (isset($data['login'])) {
$fields[] = 'login = :login';
$params[':login'] = $data['login'];
}
if (isset($data['nom'])) {
$fields[] = 'nom = :nom';
$params[':nom'] = $data['nom'];
}
if (isset($data['prenom'])) {
$fields[] = 'prenom = :prenom';
$params[':prenom'] = $data['prenom'];
}
if (isset($data['mail'])) {
$fields[] = 'mail = :mail';
$params[':mail'] = $data['mail'];
}
if (isset($data['pass'])) {
$fields[] = 'pass = :pass';
$params[':pass'] = password_hash($data['pass'], PASSWORD_DEFAULT);
}
if (empty($fields)) {
return false;
}
$fields[] = 'modifie_le = NOW()';
$statement = $this->connection->prepare(
sprintf('UPDATE login SET %s WHERE id = :id', implode(', ', $fields))
);
foreach ($params as $param => $value) {
$statement->bindValue($param, $value, is_int($value) ? PDO::PARAM_INT : PDO::PARAM_STR);
}
return $statement->execute();
}
/**
* Supprime un utilisateur par son ID.
*
* @param int $id
* @return bool
*/
public function delete(int $id): bool
{
$statement = $this->connection->prepare('DELETE FROM login WHERE id = :id');
$statement->bindValue(':id', $id, PDO::PARAM_INT);
return $statement->execute();
}
/**
* Retourne tous les utilisateurs.
*
* @return array
*/
public function list(): array
{
$statement = $this->connection->query(
'SELECT id, login, nom, prenom, mail, creer_le, modifie_le FROM login ORDER BY id ASC'
);
return $statement->fetchAll();
}
/**
* Retourne un utilisateur par son login.
*
* @param string $login
* @return array|null
*/
public function getByLogin(string $login): ?array
{
$statement = $this->connection->prepare(
'SELECT id, login, nom, prenom, mail, pass, actif, creer_le, modifie_le
FROM login
WHERE login = :login'
);
$statement->bindValue(':login', $login, PDO::PARAM_STR);
$statement->execute();
$result = $statement->fetch();
return $result === false ? null : $result;
}
/**
* Vérifie si le mot de passe correspond au login.
*
* @param string $login
* @param string $password
* @return bool
*/
public function verifyPasswordByLogin(string $login, string $password): bool
{
$user = $this->getByLogin($login);
if ($user === null) {
return false;
}
return ((int) ($user['actif'] ?? 0) === 1) && password_verify($password, $user['pass']);
}
/**
* Vérifie si un login ou un email existe déjà.
*
* @param string $login
* @param string $email
* @return bool
*/
public function existsByLoginOrEmail(string $login, string $email): bool
{
$statement = $this->connection->prepare(
'SELECT COUNT(*) AS total
FROM login
WHERE login = :login OR mail = :mail'
);
$statement->bindValue(':login', $login, PDO::PARAM_STR);
$statement->bindValue(':mail', $email, PDO::PARAM_STR);
$statement->execute();
$result = $statement->fetch();
return isset($result['total']) && (int) $result['total'] > 0;
}
/**
* Vérifie si une adresse e-mail existe.
*
* @param string $email
* @return bool
*/
public function existsByEmail(string $email): bool
{
$statement = $this->connection->prepare(
'SELECT COUNT(*) AS total FROM login WHERE mail = :mail'
);
$statement->bindValue(':mail', $email, PDO::PARAM_STR);
$statement->execute();
$result = $statement->fetch();
return isset($result['total']) && (int) $result['total'] > 0;
}
/**
* Définit un token de réinitialisation pour un utilisateur identifié par son e-mail.
*
* @param string $email
* @param string $token
* @return bool
*/
public function setResetTokenByEmail(string $email, string $token): bool
{
$statement = $this->connection->prepare(
'UPDATE login SET reset_token = :token, reset_token_created_at = NOW(), modifie_le = NOW() WHERE mail = :mail'
);
$statement->bindValue(':token', $token, PDO::PARAM_STR);
$statement->bindValue(':mail', $email, PDO::PARAM_STR);
return $statement->execute();
}
/**
* Retourne un utilisateur identifié par son token de réinitialisation.
*
* @param string $token
* @return array|null
*/
public function getByResetToken(string $token): ?array
{
$statement = $this->connection->prepare(
'SELECT id, login, nom, prenom, mail, pass, actif, reset_token, reset_token_created_at, creer_le, modifie_le
FROM login
WHERE reset_token = :token
AND reset_token_created_at >= NOW() - INTERVAL 30 MINUTE'
);
$statement->bindValue(':token', $token, PDO::PARAM_STR);
$statement->execute();
$result = $statement->fetch();
return $result === false ? null : $result;
}
/**
* Met à jour le mot de passe d'un utilisateur et supprime le token de réinitialisation.
*
* @param int $id
* @param string $password
* @return bool
*/
public function updatePasswordById(int $id, string $password): bool
{
$hashedPassword = password_hash($password, PASSWORD_DEFAULT);
$statement = $this->connection->prepare(
'UPDATE login SET pass = :pass, reset_token = NULL, reset_token_created_at = NULL, modifie_le = NOW() WHERE id = :id'
);
$statement->bindValue(':pass', $hashedPassword, PDO::PARAM_STR);
$statement->bindValue(':id', $id, PDO::PARAM_INT);
return $statement->execute();
}
}
Executable
+9
View File
@@ -0,0 +1,9 @@
</main>
<footer class="footer">
<?php if (isset($_SESSION['user_id'])): ?>
<a class="logout-button footer-logout" href="/php/menu.php?action=logout">Se déconnecter</a>
<?php endif; ?>
<p>&copy; 2026 - Jean-François GIRAUD - Positions en bourse - Tous droits réservés</p>
</footer>
</body>
</html>
+116
View File
@@ -0,0 +1,116 @@
<?php
declare(strict_types=1);
session_start();
require_once __DIR__ . '/../vendor/autoload.php';
require_once __DIR__ . '/db.php';
use App\Database\Database;
use App\Database\LoginManager;
use PHPMailer\PHPMailer\Exception;
use PHPMailer\PHPMailer\PHPMailer;
$errors = [];
$successMessage = '';
$email = '';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$email = trim((string) filter_input(INPUT_POST, 'mail', FILTER_SANITIZE_EMAIL));
if ($email === '' || !filter_var($email, FILTER_VALIDATE_EMAIL)) {
$errors[] = 'Veuillez saisir une adresse e-mail valide.';
} else {
try {
$database = new Database();
$loginManager = new LoginManager($database);
if (!$loginManager->existsByEmail($email)) {
$errors[] = 'Aucun compte nest associé à cette adresse e-mail.';
} else {
$resetToken = bin2hex(random_bytes(32));
if (!$loginManager->setResetTokenByEmail($email, $resetToken)) {
$errors[] = 'Erreur interne : impossible de générer le token de réinitialisation.';
} else {
$resetLink = sprintf(
'https://www.giraud-finance.com/php/reset_password.php?token=%s',
urlencode($resetToken)
);
try {
$mailer = new PHPMailer(true);
$mailer->isSMTP();
$mailer->Host = 'mx.giraud-finance.com';
$mailer->SMTPAuth = true;
$mailer->Username = 'jfgiraud@giraud-finance.com';
$mailer->Password = 'azertyQSDFGH123456+-';
$mailer->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mailer->Port = 587;
$mailer->CharSet = 'UTF-8';
$mailer->Encoding = 'base64';
$mailer->setFrom('postmaster@giraud-finance.com', 'Giraud Finance');
$mailer->addAddress($email);
$mailer->Subject = 'Réinitialisation de votre mot de passe - Giraud Finance';
$mailer->isHTML(true);
$mailer->Body = sprintf(
'<p>Bonjour,</p><p>Pour réinitialiser votre mot de passe, veuillez cliquer sur le lien suivant :</p><p><a href="%1$s">%1$s</a></p><p>Ce lien est valide pendant 30 minutes.</p><p>Si vous n\'avez pas demandé cette réinitialisation, ignorez ce message.</p>',
htmlspecialchars($resetLink, ENT_QUOTES, 'UTF-8')
);
$mailer->AltBody = "Bonjour,\n\nPour réinitialiser votre mot de passe, veuillez utiliser ce lien : $resetLink\n\nCe lien est valide pendant 30 minutes.\n\nSi vous n\'avez pas demandé cette réinitialisation, ignorez ce message.";
$mailer->send();
$successMessage = 'Nous avons bien pris en compte votre demande. Un lien de réinitialisation a été envoyé si votre adresse existe.';
} catch (Exception $mailException) {
$errors[] = 'Impossible d\'envoyer l\'e-mail de réinitialisation : ' . $mailException->getMessage();
}
}
}
} catch (Throwable $exception) {
$errors[] = 'Erreur interne : impossible de traiter la demande pour le moment.';
}
}
}
?>
<?php require_once __DIR__ . '/header.php'; ?>
<div class="login-container">
<div class="login-box">
<h2 class="login-title">Mot de passe oublié</h2>
<p class="login-subtitle">Renseignez votre adresse e-mail pour réinitialiser votre mot de passe.</p>
<?php if (!empty($errors)): ?>
<div class="alert alert-error">
<ul>
<?php foreach ($errors as $error): ?>
<li><?php echo htmlspecialchars($error, ENT_QUOTES, 'UTF-8'); ?></li>
<?php endforeach; ?>
</ul>
</div>
<?php endif; ?>
<?php if ($successMessage): ?>
<div class="alert alert-success"><?php echo htmlspecialchars($successMessage, ENT_QUOTES, 'UTF-8'); ?></div>
<?php endif; ?>
<form action="forgot_password.php" method="POST" class="login-form">
<div class="form-group">
<label for="mail" class="form-label">Adresse e-mail</label>
<input type="email" id="mail" name="mail" class="form-input" placeholder="exemple@email.com" required autocomplete="email" value="<?php echo htmlspecialchars($email, ENT_QUOTES, 'UTF-8'); ?>">
</div>
<button type="submit" class="btn-submit">Envoyer la demande</button>
</form>
<div class="login-footer">
<span class="separator">•</span>
<a href="../index.php" class="signup-link">Retour à la connexion</a>
</div>
</div>
</div>
<?php require_once __DIR__ . '/footer.php'; ?>
Executable
+26
View File
@@ -0,0 +1,26 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Bourse - Page d'Accueil</title>
<link rel="stylesheet" href="/css/style.css">
<link rel="shortcut icon" href="/assets/images/favicon.png" type="image/x-icon">
</head>
<body>
<header class="header">
<div class="container">
<div class="logo">
<img src="/assets/images/GFBlancLogo.png" alt="Logo GF Blanc" class="logo-img">
</div>
<h1 class="site-title">Positions en bourse</h1>
<?php if (isset($_SESSION['user_id'])): ?>
<div class="user-info">
<span>Nom : <?= htmlspecialchars((string) ($_SESSION['user_name'] ?? ''), ENT_QUOTES, 'UTF-8') ?></span>
<span>IP : <?= htmlspecialchars((string) ($_SERVER['REMOTE_ADDR'] ?? 'N/A'), ENT_QUOTES, 'UTF-8') ?></span>
<span class="info-date">Date : <?= date('d/m/Y') ?></span>
</div>
<?php endif; ?>
</div>
</header>
<main class="main-content">
+75
View File
@@ -0,0 +1,75 @@
<?php
declare(strict_types=1);
require_once __DIR__ . '/session.php';
use App\Database\Database;
use App\Database\LoginManager;
if (!isset($_SESSION['login_attempts'])) {
$_SESSION['login_attempts'] = 0;
}
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
header('Location: ../index.php');
exit;
}
$login = trim((string) filter_input(INPUT_POST, 'login', FILTER_SANITIZE_FULL_SPECIAL_CHARS));
$password = trim((string) ($_POST['password'] ?? ''));
if ($login === '' || $password === '') {
$_SESSION['login_error'] = 'Veuillez renseigner votre login et votre mot de passe.';
header('Location: ../index.php');
exit;
}
$handleFailedAttempt = function (string $message): void {
$attempts = (int) ($_SESSION['login_attempts'] ?? 0) + 1;
$_SESSION['login_attempts'] = $attempts;
if ($attempts >= 5) {
$_SESSION['blocked'] = true;
header('Location: https://home.giraud-finance.com');
exit;
}
$_SESSION['login_error'] = $message;
header('Location: ../index.php');
exit;
};
try {
$database = new Database();
$loginManager = new LoginManager($database);
$user = $loginManager->getByLogin($login);
} catch (Throwable $exception) {
$_SESSION['login_error'] = 'Erreur interne : impossible de se connecter au service.';
header('Location: ../index.php');
exit;
}
if ($user === null) {
$handleFailedAttempt('Login ou mot de passe incorrect.');
}
if ((int) ($user['actif'] ?? 0) !== 1) {
$_SESSION['login_error'] = 'Votre compte n\'est pas encore activé. Veuillez contacter l\'administrateur.';
header('Location: ../index.php');
exit;
}
if (!password_verify($password, $user['pass'])) {
$handleFailedAttempt('Login ou mot de passe incorrect.');
}
session_regenerate_id(true);
$_SESSION['login_attempts'] = 0;
unset($_SESSION['blocked']);
$_SESSION['user_id'] = (int) $user['id'];
$_SESSION['user_login'] = $user['login'];
$_SESSION['user_name'] = trim($user['prenom'] . ' ' . $user['nom']);
header('Location: menu.php');
exit;
Executable
+43
View File
@@ -0,0 +1,43 @@
<?php
declare(strict_types=1);
require_once __DIR__ . '/session.php';
// Logout action
if (isset($_GET['action']) && $_GET['action'] === 'logout') {
session_unset();
session_destroy();
setcookie(session_name(), '', time() - 42000, '/');
header('Location: ../index.php');
exit;
}
// Require login
if (empty($_SESSION['user_id'])) {
header('Location: ../index.php');
exit;
}
require_once __DIR__ . '/header.php';
?>
<div class="login-container">
<div class="login-box">
<h2 class="login-title">Espace utilisateur</h2>
<p>Session ID : <?php echo htmlspecialchars(session_id(), ENT_QUOTES, 'UTF-8'); ?></p>
<p>User ID : <?php echo htmlspecialchars((string)($_SESSION['user_id'] ?? ''), ENT_QUOTES, 'UTF-8'); ?></p>
<p>Login : <?php echo htmlspecialchars((string)($_SESSION['user_login'] ?? ''), ENT_QUOTES, 'UTF-8'); ?></p>
<p>Nom : <?php echo htmlspecialchars((string)($_SESSION['user_name'] ?? ''), ENT_QUOTES, 'UTF-8'); ?></p>
<p>Dernière activité (timestamp) : <?php echo htmlspecialchars((string)time(), ENT_QUOTES, 'UTF-8'); ?></p>
<p>Adresse IP : <?php echo htmlspecialchars($_SERVER['REMOTE_ADDR'] ?? '', ENT_QUOTES, 'UTF-8'); ?></p>
<div style="margin-top:16px;">
<a class="btn-submit" href="menu.php?action=logout" style="display:inline-block;text-decoration:none;">Se déconnecter</a>
</div>
</div>
</div>
<?php require_once __DIR__ . '/footer.php'; ?>
+137
View File
@@ -0,0 +1,137 @@
<?php
declare(strict_types=1);
session_start();
require_once __DIR__ . '/db.php';
use App\Database\Database;
use App\Database\LoginManager;
$errors = [];
$values = [
'login' => '',
'nom' => '',
'prenom' => '',
'mail' => '',
];
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$values['login'] = trim((string) filter_input(INPUT_POST, 'login', FILTER_SANITIZE_FULL_SPECIAL_CHARS));
$values['nom'] = trim((string) filter_input(INPUT_POST, 'nom', FILTER_SANITIZE_FULL_SPECIAL_CHARS));
$values['prenom'] = trim((string) filter_input(INPUT_POST, 'prenom', FILTER_SANITIZE_FULL_SPECIAL_CHARS));
$values['mail'] = trim((string) filter_input(INPUT_POST, 'mail', FILTER_SANITIZE_EMAIL));
$password = trim((string) ($_POST['password'] ?? ''));
$passwordConfirm = trim((string) ($_POST['password_confirm'] ?? ''));
if ($values['login'] === '') {
$errors[] = 'Le login est requis.';
}
if ($values['nom'] === '') {
$errors[] = 'Le nom est requis.';
}
if ($values['prenom'] === '') {
$errors[] = 'Le prénom est requis.';
}
if ($values['mail'] === '' || !filter_var($values['mail'], FILTER_VALIDATE_EMAIL)) {
$errors[] = 'Une adresse e-mail valide est requise.';
}
if ($password === '' || $passwordConfirm === '') {
$errors[] = 'Le mot de passe et la confirmation sont requis.';
} elseif ($password !== $passwordConfirm) {
$errors[] = 'Les mots de passe ne correspondent pas.';
} elseif (strlen($password) < 8) {
$errors[] = 'Le mot de passe doit contenir au moins 8 caractères.';
}
if (empty($errors)) {
try {
$database = new Database();
$loginManager = new LoginManager($database);
if ($loginManager->existsByLoginOrEmail($values['login'], $values['mail'])) {
$errors[] = 'Le login ou ladresse e-mail existe déjà.';
} else {
$loginManager->create([
'login' => $values['login'],
'nom' => $values['nom'],
'prenom' => $values['prenom'],
'mail' => $values['mail'],
'pass' => $password,
]);
header('Location: ../index.php?registered=1');
exit;
}
} catch (Throwable $exception) {
$errors[] = 'Erreur interne : impossible de créer le compte.';
}
}
}
?>
<?php require_once __DIR__ . '/header.php'; ?>
<div class="login-container">
<div class="login-box">
<h2 class="login-title">Créer un compte</h2>
<p class="login-subtitle">Inscrivez-vous pour accéder à Giraud Finance.</p>
<?php if (!empty($errors)): ?>
<div class="alert alert-error">
<ul>
<?php foreach ($errors as $error): ?>
<li><?php echo htmlspecialchars($error, ENT_QUOTES, 'UTF-8'); ?></li>
<?php endforeach; ?>
</ul>
</div>
<?php endif; ?>
<form action="register.php" method="POST" class="login-form">
<div class="form-group">
<label for="login" class="form-label">Login</label>
<input type="text" id="login" name="login" class="form-input" placeholder="Votre login" required autocomplete="username" value="<?php echo htmlspecialchars($values['login'], ENT_QUOTES, 'UTF-8'); ?>">
</div>
<div class="form-group">
<label for="nom" class="form-label">Nom</label>
<input type="text" id="nom" name="nom" class="form-input" placeholder="Votre nom" required value="<?php echo htmlspecialchars($values['nom'], ENT_QUOTES, 'UTF-8'); ?>">
</div>
<div class="form-group">
<label for="prenom" class="form-label">Prénom</label>
<input type="text" id="prenom" name="prenom" class="form-input" placeholder="Votre prénom" required value="<?php echo htmlspecialchars($values['prenom'], ENT_QUOTES, 'UTF-8'); ?>">
</div>
<div class="form-group">
<label for="mail" class="form-label">Adresse e-mail</label>
<input type="email" id="mail" name="mail" class="form-input" placeholder="exemple@email.com" required autocomplete="email" value="<?php echo htmlspecialchars($values['mail'], ENT_QUOTES, 'UTF-8'); ?>">
</div>
<div class="form-group">
<label for="password" class="form-label">Mot de passe</label>
<input type="password" id="password" name="password" class="form-input" placeholder="••••••••" required autocomplete="new-password">
</div>
<div class="form-group">
<label for="password_confirm" class="form-label">Confirmer le mot de passe</label>
<input type="password" id="password_confirm" name="password_confirm" class="form-input" placeholder="••••••••" required autocomplete="new-password">
</div>
<button type="submit" class="btn-submit">Sinscrire</button>
</form>
<div class="login-footer">
<span class="separator">•</span>
<a href="../index.php" class="signup-link">Retour à la connexion</a>
</div>
</div>
</div>
<?php require_once __DIR__ . '/footer.php'; ?>
+109
View File
@@ -0,0 +1,109 @@
<?php
declare(strict_types=1);
session_start();
require_once __DIR__ . '/../vendor/autoload.php';
require_once __DIR__ . '/db.php';
use App\Database\Database;
use App\Database\LoginManager;
$errors = [];
$successMessage = '';
$token = trim((string) ($_GET['token'] ?? ''));
$user = null;
try {
$database = new Database();
$loginManager = new LoginManager($database);
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$token = trim((string) ($_POST['token'] ?? ''));
$password = trim((string) ($_POST['password'] ?? ''));
$passwordConfirm = trim((string) ($_POST['password_confirm'] ?? ''));
if ($token === '') {
$errors[] = 'Lien invalide.';
} else {
$user = $loginManager->getByResetToken($token);
if ($user === null) {
$errors[] = 'Lien invalide.';
} else {
if ($password === '' || $passwordConfirm === '') {
$errors[] = 'Veuillez renseigner les deux champs de mot de passe.';
} elseif ($password !== $passwordConfirm) {
$errors[] = 'Les mots de passe ne correspondent pas.';
} elseif (strlen($password) < 8) {
$errors[] = 'Le mot de passe doit contenir au moins 8 caractères.';
}
if (empty($errors)) {
if ($loginManager->updatePasswordById((int) $user['id'], $password)) {
$successMessage = 'Votre mot de passe a été réinitialisé avec succès. Vous pouvez maintenant vous connecter.';
$user = null;
} else {
$errors[] = 'Impossible de mettre à jour le mot de passe. Veuillez réessayer.';
}
}
}
}
} elseif ($token !== '') {
$user = $loginManager->getByResetToken($token);
}
} catch (Throwable $exception) {
$errors[] = 'Erreur interne : impossible de traiter votre demande.';
}
?>
<?php require_once __DIR__ . '/header.php'; ?>
<div class="login-container">
<div class="login-box">
<h2 class="login-title">Réinitialisation du mot de passe</h2>
<p class="login-subtitle">Entrez un nouveau mot de passe pour votre compte.</p>
<?php if (!empty($errors)): ?>
<div class="alert alert-error">
<ul>
<?php foreach ($errors as $error): ?>
<li><?php echo htmlspecialchars($error, ENT_QUOTES, 'UTF-8'); ?></li>
<?php endforeach; ?>
</ul>
</div>
<?php endif; ?>
<?php if ($successMessage): ?>
<div class="alert alert-success"><?php echo htmlspecialchars($successMessage, ENT_QUOTES, 'UTF-8'); ?></div>
<?php endif; ?>
<?php if ($user !== null): ?>
<form action="reset_password.php" method="POST" class="login-form">
<input type="hidden" name="token" value="<?php echo htmlspecialchars($token, ENT_QUOTES, 'UTF-8'); ?>">
<div class="form-group">
<label for="password" class="form-label">Nouveau mot de passe</label>
<input type="password" id="password" name="password" class="form-input" placeholder="••••••••" required autocomplete="new-password">
</div>
<div class="form-group">
<label for="password_confirm" class="form-label">Confirmer le mot de passe</label>
<input type="password" id="password_confirm" name="password_confirm" class="form-input" placeholder="••••••••" required autocomplete="new-password">
</div>
<button type="submit" class="btn-submit">Réinitialiser le mot de passe</button>
</form>
<?php elseif ($successMessage === ''): ?>
<div class="alert alert-error">Lien invalide.</div>
<?php endif; ?>
<div class="login-footer">
<span class="separator">•</span>
<a href="../index.php" class="signup-link">Retour à la connexion</a>
</div>
</div>
</div>
<?php require_once __DIR__ . '/footer.php'; ?>
+185
View File
@@ -0,0 +1,185 @@
<?php
declare(strict_types=1);
require_once __DIR__ . '/db.php';
use App\Database\Database;
class MySqlSessionHandler implements SessionHandlerInterface
{
private ?PDO $connection = null;
private bool $ipMismatch = false;
public function open(string $savePath, string $sessionName): bool
{
try {
$database = new Database();
$this->connection = $database->getConnection();
return true;
} catch (Throwable $exception) {
return false;
}
}
public function close(): bool
{
$this->connection = null;
return true;
}
public function read(string $id): string
{
if ($this->connection === null) {
if (!$this->open('', '')) {
return '';
}
}
$statement = $this->connection->prepare(
'SELECT data, ip_address
FROM sessions
WHERE id = :id'
);
$statement->bindValue(':id', $id, PDO::PARAM_STR);
$statement->execute();
$row = $statement->fetch(PDO::FETCH_ASSOC);
if ($row === false) {
return '';
}
$currentIp = $_SERVER['REMOTE_ADDR'] ?? '';
if (!empty($row['ip_address']) && $row['ip_address'] !== $currentIp) {
$this->ipMismatch = true;
return '';
}
$this->updateAccessAndIp($id, $currentIp);
return (string) $row['data'];
}
public function write(string $id, string $data): bool
{
if ($this->connection === null) {
if (!$this->open('', '')) {
return false;
}
}
$currentIp = $_SERVER['REMOTE_ADDR'] ?? '';
$access = time();
$userId = isset($_SESSION['user_id']) ? (int) $_SESSION['user_id'] : null;
$createdAt = date('Y-m-d H:i:s');
$statement = $this->connection->prepare(
'INSERT INTO sessions (id, access, data, user_id, ip_address, created_at)
VALUES (:id, :access, :data, :user_id, :ip_address, :created_at)
ON DUPLICATE KEY UPDATE
access = VALUES(access),
data = VALUES(data),
user_id = VALUES(user_id),
ip_address = VALUES(ip_address)'
);
$statement->bindValue(':id', $id, PDO::PARAM_STR);
$statement->bindValue(':access', $access, PDO::PARAM_INT);
$statement->bindValue(':data', $data, PDO::PARAM_STR);
if ($userId === null) {
$statement->bindValue(':user_id', null, PDO::PARAM_NULL);
} else {
$statement->bindValue(':user_id', $userId, PDO::PARAM_INT);
}
$statement->bindValue(':ip_address', $currentIp, PDO::PARAM_STR);
$statement->bindValue(':created_at', $createdAt, PDO::PARAM_STR);
try {
return $statement->execute();
} catch (Throwable $e) {
return false;
}
}
public function destroy(string $id): bool
{
if ($this->connection === null) {
return false;
}
$statement = $this->connection->prepare(
'DELETE FROM sessions WHERE id = :id'
);
$statement->bindValue(':id', $id, PDO::PARAM_STR);
return $statement->execute();
}
public function gc(int $maxLifetime): int|false
{
if ($this->connection === null) {
return false;
}
$statement = $this->connection->prepare(
'DELETE FROM sessions WHERE access < :time'
);
$statement->bindValue(':time', time() - $maxLifetime, PDO::PARAM_INT);
return $statement->execute();
}
public function validateIp(string $id): bool
{
if ($this->connection === null) {
return true;
}
$statement = $this->connection->prepare(
'SELECT ip_address FROM sessions WHERE id = :id'
);
$statement->bindValue(':id', $id, PDO::PARAM_STR);
$statement->execute();
$row = $statement->fetch(PDO::FETCH_ASSOC);
$currentIp = $_SERVER['REMOTE_ADDR'] ?? '';
return empty($row['ip_address']) || $row['ip_address'] === $currentIp;
}
public function hasIpMismatch(): bool
{
return $this->ipMismatch;
}
private function updateAccessAndIp(string $id, string $ip): void
{
$statement = $this->connection->prepare(
'UPDATE sessions
SET access = :access,
ip_address = :ip_address
WHERE id = :id'
);
$statement->bindValue(':access', time(), PDO::PARAM_INT);
$statement->bindValue(':ip_address', $ip, PDO::PARAM_STR);
$statement->bindValue(':id', $id, PDO::PARAM_STR);
$statement->execute();
}
}
$handler = new MySqlSessionHandler();
session_set_save_handler($handler, true);
session_start();
// Only enforce IP mismatch for authenticated sessions (user_id present)
if (!empty($_SESSION['user_id']) && $handler->hasIpMismatch()) {
session_unset();
session_destroy();
setcookie(session_name(), '', time() - 42000, '/');
header('Location: /index.php');
exit;
}
+26
View File
@@ -0,0 +1,26 @@
.
├── assets
│   ├── csv
│   │   ├── autre.csv
│   │   ├── ibex35.csv
│   │   ├── nasdaq100.csv
│   │   ├── sbf120.csv
│   │   └── sp500.csv
│   └── images
│   ├── favicon.png
│   └── GFBlancLogo.png
├── css
│   └── style.css
├── .htaccess
├── index.php
├── js
├── php
│   ├── 404.php
│   ├── footer.php
│   ├── header.php
│   ├── menu.php
│   └── session.php
├── structure.txt
└── structur.txt
7 directories, 17 files
+25
View File
@@ -0,0 +1,25 @@
<?php
// autoload.php @generated by Composer
if (PHP_VERSION_ID < 50600) {
if (!headers_sent()) {
header('HTTP/1.1 500 Internal Server Error');
}
$err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
if (!ini_get('display_errors')) {
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
fwrite(STDERR, $err);
} elseif (!headers_sent()) {
echo $err;
}
}
trigger_error(
$err,
E_USER_ERROR
);
}
require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInit2185d2f99bcd56787481d9357a5972d3::getLoader();
+579
View File
@@ -0,0 +1,579 @@
<?php
/*
* This file is part of Composer.
*
* (c) Nils Adermann <naderman@naderman.de>
* Jordi Boggiano <j.boggiano@seld.be>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Composer\Autoload;
/**
* ClassLoader implements a PSR-0, PSR-4 and classmap class loader.
*
* $loader = new \Composer\Autoload\ClassLoader();
*
* // register classes with namespaces
* $loader->add('Symfony\Component', __DIR__.'/component');
* $loader->add('Symfony', __DIR__.'/framework');
*
* // activate the autoloader
* $loader->register();
*
* // to enable searching the include path (eg. for PEAR packages)
* $loader->setUseIncludePath(true);
*
* In this example, if you try to use a class in the Symfony\Component
* namespace or one of its children (Symfony\Component\Console for instance),
* the autoloader will first look for the class under the component/
* directory, and it will then fallback to the framework/ directory if not
* found before giving up.
*
* This class is loosely based on the Symfony UniversalClassLoader.
*
* @author Fabien Potencier <fabien@symfony.com>
* @author Jordi Boggiano <j.boggiano@seld.be>
* @see https://www.php-fig.org/psr/psr-0/
* @see https://www.php-fig.org/psr/psr-4/
*/
class ClassLoader
{
/** @var \Closure(string):void */
private static $includeFile;
/** @var string|null */
private $vendorDir;
// PSR-4
/**
* @var array<string, array<string, int>>
*/
private $prefixLengthsPsr4 = array();
/**
* @var array<string, list<string>>
*/
private $prefixDirsPsr4 = array();
/**
* @var list<string>
*/
private $fallbackDirsPsr4 = array();
// PSR-0
/**
* List of PSR-0 prefixes
*
* Structured as array('F (first letter)' => array('Foo\Bar (full prefix)' => array('path', 'path2')))
*
* @var array<string, array<string, list<string>>>
*/
private $prefixesPsr0 = array();
/**
* @var list<string>
*/
private $fallbackDirsPsr0 = array();
/** @var bool */
private $useIncludePath = false;
/**
* @var array<string, string>
*/
private $classMap = array();
/** @var bool */
private $classMapAuthoritative = false;
/**
* @var array<string, bool>
*/
private $missingClasses = array();
/** @var string|null */
private $apcuPrefix;
/**
* @var array<string, self>
*/
private static $registeredLoaders = array();
/**
* @param string|null $vendorDir
*/
public function __construct($vendorDir = null)
{
$this->vendorDir = $vendorDir;
self::initializeIncludeClosure();
}
/**
* @return array<string, list<string>>
*/
public function getPrefixes()
{
if (!empty($this->prefixesPsr0)) {
return call_user_func_array('array_merge', array_values($this->prefixesPsr0));
}
return array();
}
/**
* @return array<string, list<string>>
*/
public function getPrefixesPsr4()
{
return $this->prefixDirsPsr4;
}
/**
* @return list<string>
*/
public function getFallbackDirs()
{
return $this->fallbackDirsPsr0;
}
/**
* @return list<string>
*/
public function getFallbackDirsPsr4()
{
return $this->fallbackDirsPsr4;
}
/**
* @return array<string, string> Array of classname => path
*/
public function getClassMap()
{
return $this->classMap;
}
/**
* @param array<string, string> $classMap Class to filename map
*
* @return void
*/
public function addClassMap(array $classMap)
{
if ($this->classMap) {
$this->classMap = array_merge($this->classMap, $classMap);
} else {
$this->classMap = $classMap;
}
}
/**
* Registers a set of PSR-0 directories for a given prefix, either
* appending or prepending to the ones previously set for this prefix.
*
* @param string $prefix The prefix
* @param list<string>|string $paths The PSR-0 root directories
* @param bool $prepend Whether to prepend the directories
*
* @return void
*/
public function add($prefix, $paths, $prepend = false)
{
$paths = (array) $paths;
if (!$prefix) {
if ($prepend) {
$this->fallbackDirsPsr0 = array_merge(
$paths,
$this->fallbackDirsPsr0
);
} else {
$this->fallbackDirsPsr0 = array_merge(
$this->fallbackDirsPsr0,
$paths
);
}
return;
}
$first = $prefix[0];
if (!isset($this->prefixesPsr0[$first][$prefix])) {
$this->prefixesPsr0[$first][$prefix] = $paths;
return;
}
if ($prepend) {
$this->prefixesPsr0[$first][$prefix] = array_merge(
$paths,
$this->prefixesPsr0[$first][$prefix]
);
} else {
$this->prefixesPsr0[$first][$prefix] = array_merge(
$this->prefixesPsr0[$first][$prefix],
$paths
);
}
}
/**
* Registers a set of PSR-4 directories for a given namespace, either
* appending or prepending to the ones previously set for this namespace.
*
* @param string $prefix The prefix/namespace, with trailing '\\'
* @param list<string>|string $paths The PSR-4 base directories
* @param bool $prepend Whether to prepend the directories
*
* @throws \InvalidArgumentException
*
* @return void
*/
public function addPsr4($prefix, $paths, $prepend = false)
{
$paths = (array) $paths;
if (!$prefix) {
// Register directories for the root namespace.
if ($prepend) {
$this->fallbackDirsPsr4 = array_merge(
$paths,
$this->fallbackDirsPsr4
);
} else {
$this->fallbackDirsPsr4 = array_merge(
$this->fallbackDirsPsr4,
$paths
);
}
} elseif (!isset($this->prefixDirsPsr4[$prefix])) {
// Register directories for a new namespace.
$length = strlen($prefix);
if ('\\' !== $prefix[$length - 1]) {
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
}
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
$this->prefixDirsPsr4[$prefix] = $paths;
} elseif ($prepend) {
// Prepend directories for an already registered namespace.
$this->prefixDirsPsr4[$prefix] = array_merge(
$paths,
$this->prefixDirsPsr4[$prefix]
);
} else {
// Append directories for an already registered namespace.
$this->prefixDirsPsr4[$prefix] = array_merge(
$this->prefixDirsPsr4[$prefix],
$paths
);
}
}
/**
* Registers a set of PSR-0 directories for a given prefix,
* replacing any others previously set for this prefix.
*
* @param string $prefix The prefix
* @param list<string>|string $paths The PSR-0 base directories
*
* @return void
*/
public function set($prefix, $paths)
{
if (!$prefix) {
$this->fallbackDirsPsr0 = (array) $paths;
} else {
$this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
}
}
/**
* Registers a set of PSR-4 directories for a given namespace,
* replacing any others previously set for this namespace.
*
* @param string $prefix The prefix/namespace, with trailing '\\'
* @param list<string>|string $paths The PSR-4 base directories
*
* @throws \InvalidArgumentException
*
* @return void
*/
public function setPsr4($prefix, $paths)
{
if (!$prefix) {
$this->fallbackDirsPsr4 = (array) $paths;
} else {
$length = strlen($prefix);
if ('\\' !== $prefix[$length - 1]) {
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
}
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
$this->prefixDirsPsr4[$prefix] = (array) $paths;
}
}
/**
* Turns on searching the include path for class files.
*
* @param bool $useIncludePath
*
* @return void
*/
public function setUseIncludePath($useIncludePath)
{
$this->useIncludePath = $useIncludePath;
}
/**
* Can be used to check if the autoloader uses the include path to check
* for classes.
*
* @return bool
*/
public function getUseIncludePath()
{
return $this->useIncludePath;
}
/**
* Turns off searching the prefix and fallback directories for classes
* that have not been registered with the class map.
*
* @param bool $classMapAuthoritative
*
* @return void
*/
public function setClassMapAuthoritative($classMapAuthoritative)
{
$this->classMapAuthoritative = $classMapAuthoritative;
}
/**
* Should class lookup fail if not found in the current class map?
*
* @return bool
*/
public function isClassMapAuthoritative()
{
return $this->classMapAuthoritative;
}
/**
* APCu prefix to use to cache found/not-found classes, if the extension is enabled.
*
* @param string|null $apcuPrefix
*
* @return void
*/
public function setApcuPrefix($apcuPrefix)
{
$this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null;
}
/**
* The APCu prefix in use, or null if APCu caching is not enabled.
*
* @return string|null
*/
public function getApcuPrefix()
{
return $this->apcuPrefix;
}
/**
* Registers this instance as an autoloader.
*
* @param bool $prepend Whether to prepend the autoloader or not
*
* @return void
*/
public function register($prepend = false)
{
spl_autoload_register(array($this, 'loadClass'), true, $prepend);
if (null === $this->vendorDir) {
return;
}
if ($prepend) {
self::$registeredLoaders = array($this->vendorDir => $this) + self::$registeredLoaders;
} else {
unset(self::$registeredLoaders[$this->vendorDir]);
self::$registeredLoaders[$this->vendorDir] = $this;
}
}
/**
* Unregisters this instance as an autoloader.
*
* @return void
*/
public function unregister()
{
spl_autoload_unregister(array($this, 'loadClass'));
if (null !== $this->vendorDir) {
unset(self::$registeredLoaders[$this->vendorDir]);
}
}
/**
* Loads the given class or interface.
*
* @param string $class The name of the class
* @return true|null True if loaded, null otherwise
*/
public function loadClass($class)
{
if ($file = $this->findFile($class)) {
$includeFile = self::$includeFile;
$includeFile($file);
return true;
}
return null;
}
/**
* Finds the path to the file where the class is defined.
*
* @param string $class The name of the class
*
* @return string|false The path if found, false otherwise
*/
public function findFile($class)
{
// class map lookup
if (isset($this->classMap[$class])) {
return $this->classMap[$class];
}
if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
return false;
}
if (null !== $this->apcuPrefix) {
$file = apcu_fetch($this->apcuPrefix.$class, $hit);
if ($hit) {
return $file;
}
}
$file = $this->findFileWithExtension($class, '.php');
// Search for Hack files if we are running on HHVM
if (false === $file && defined('HHVM_VERSION')) {
$file = $this->findFileWithExtension($class, '.hh');
}
if (null !== $this->apcuPrefix) {
apcu_add($this->apcuPrefix.$class, $file);
}
if (false === $file) {
// Remember that this class does not exist.
$this->missingClasses[$class] = true;
}
return $file;
}
/**
* Returns the currently registered loaders keyed by their corresponding vendor directories.
*
* @return array<string, self>
*/
public static function getRegisteredLoaders()
{
return self::$registeredLoaders;
}
/**
* @param string $class
* @param string $ext
* @return string|false
*/
private function findFileWithExtension($class, $ext)
{
// PSR-4 lookup
$logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
$first = $class[0];
if (isset($this->prefixLengthsPsr4[$first])) {
$subPath = $class;
while (false !== $lastPos = strrpos($subPath, '\\')) {
$subPath = substr($subPath, 0, $lastPos);
$search = $subPath . '\\';
if (isset($this->prefixDirsPsr4[$search])) {
$pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1);
foreach ($this->prefixDirsPsr4[$search] as $dir) {
if (file_exists($file = $dir . $pathEnd)) {
return $file;
}
}
}
}
}
// PSR-4 fallback dirs
foreach ($this->fallbackDirsPsr4 as $dir) {
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
return $file;
}
}
// PSR-0 lookup
if (false !== $pos = strrpos($class, '\\')) {
// namespaced class name
$logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
. strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
} else {
// PEAR-like class name
$logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
}
if (isset($this->prefixesPsr0[$first])) {
foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
if (0 === strpos($class, $prefix)) {
foreach ($dirs as $dir) {
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
return $file;
}
}
}
}
}
// PSR-0 fallback dirs
foreach ($this->fallbackDirsPsr0 as $dir) {
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
return $file;
}
}
// PSR-0 include paths.
if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
return $file;
}
return false;
}
/**
* @return void
*/
private static function initializeIncludeClosure()
{
if (self::$includeFile !== null) {
return;
}
/**
* Scope isolated include.
*
* Prevents access to $this/self from included files.
*
* @param string $file
* @return void
*/
self::$includeFile = \Closure::bind(static function($file) {
include $file;
}, null, null);
}
}
+359
View File
@@ -0,0 +1,359 @@
<?php
/*
* This file is part of Composer.
*
* (c) Nils Adermann <naderman@naderman.de>
* Jordi Boggiano <j.boggiano@seld.be>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Composer;
use Composer\Autoload\ClassLoader;
use Composer\Semver\VersionParser;
/**
* This class is copied in every Composer installed project and available to all
*
* See also https://getcomposer.org/doc/07-runtime.md#installed-versions
*
* To require its presence, you can require `composer-runtime-api ^2.0`
*
* @final
*/
class InstalledVersions
{
/**
* @var mixed[]|null
* @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
*/
private static $installed;
/**
* @var bool|null
*/
private static $canGetVendors;
/**
* @var array[]
* @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static $installedByVendor = array();
/**
* Returns a list of all package names which are present, either by being installed, replaced or provided
*
* @return string[]
* @psalm-return list<string>
*/
public static function getInstalledPackages()
{
$packages = array();
foreach (self::getInstalled() as $installed) {
$packages[] = array_keys($installed['versions']);
}
if (1 === \count($packages)) {
return $packages[0];
}
return array_keys(array_flip(\call_user_func_array('array_merge', $packages)));
}
/**
* Returns a list of all package names with a specific type e.g. 'library'
*
* @param string $type
* @return string[]
* @psalm-return list<string>
*/
public static function getInstalledPackagesByType($type)
{
$packagesByType = array();
foreach (self::getInstalled() as $installed) {
foreach ($installed['versions'] as $name => $package) {
if (isset($package['type']) && $package['type'] === $type) {
$packagesByType[] = $name;
}
}
}
return $packagesByType;
}
/**
* Checks whether the given package is installed
*
* This also returns true if the package name is provided or replaced by another package
*
* @param string $packageName
* @param bool $includeDevRequirements
* @return bool
*/
public static function isInstalled($packageName, $includeDevRequirements = true)
{
foreach (self::getInstalled() as $installed) {
if (isset($installed['versions'][$packageName])) {
return $includeDevRequirements || !isset($installed['versions'][$packageName]['dev_requirement']) || $installed['versions'][$packageName]['dev_requirement'] === false;
}
}
return false;
}
/**
* Checks whether the given package satisfies a version constraint
*
* e.g. If you want to know whether version 2.3+ of package foo/bar is installed, you would call:
*
* Composer\InstalledVersions::satisfies(new VersionParser, 'foo/bar', '^2.3')
*
* @param VersionParser $parser Install composer/semver to have access to this class and functionality
* @param string $packageName
* @param string|null $constraint A version constraint to check for, if you pass one you have to make sure composer/semver is required by your package
* @return bool
*/
public static function satisfies(VersionParser $parser, $packageName, $constraint)
{
$constraint = $parser->parseConstraints((string) $constraint);
$provided = $parser->parseConstraints(self::getVersionRanges($packageName));
return $provided->matches($constraint);
}
/**
* Returns a version constraint representing all the range(s) which are installed for a given package
*
* It is easier to use this via isInstalled() with the $constraint argument if you need to check
* whether a given version of a package is installed, and not just whether it exists
*
* @param string $packageName
* @return string Version constraint usable with composer/semver
*/
public static function getVersionRanges($packageName)
{
foreach (self::getInstalled() as $installed) {
if (!isset($installed['versions'][$packageName])) {
continue;
}
$ranges = array();
if (isset($installed['versions'][$packageName]['pretty_version'])) {
$ranges[] = $installed['versions'][$packageName]['pretty_version'];
}
if (array_key_exists('aliases', $installed['versions'][$packageName])) {
$ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']);
}
if (array_key_exists('replaced', $installed['versions'][$packageName])) {
$ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']);
}
if (array_key_exists('provided', $installed['versions'][$packageName])) {
$ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']);
}
return implode(' || ', $ranges);
}
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
}
/**
* @param string $packageName
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
*/
public static function getVersion($packageName)
{
foreach (self::getInstalled() as $installed) {
if (!isset($installed['versions'][$packageName])) {
continue;
}
if (!isset($installed['versions'][$packageName]['version'])) {
return null;
}
return $installed['versions'][$packageName]['version'];
}
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
}
/**
* @param string $packageName
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
*/
public static function getPrettyVersion($packageName)
{
foreach (self::getInstalled() as $installed) {
if (!isset($installed['versions'][$packageName])) {
continue;
}
if (!isset($installed['versions'][$packageName]['pretty_version'])) {
return null;
}
return $installed['versions'][$packageName]['pretty_version'];
}
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
}
/**
* @param string $packageName
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as reference
*/
public static function getReference($packageName)
{
foreach (self::getInstalled() as $installed) {
if (!isset($installed['versions'][$packageName])) {
continue;
}
if (!isset($installed['versions'][$packageName]['reference'])) {
return null;
}
return $installed['versions'][$packageName]['reference'];
}
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
}
/**
* @param string $packageName
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as install path. Packages of type metapackages also have a null install path.
*/
public static function getInstallPath($packageName)
{
foreach (self::getInstalled() as $installed) {
if (!isset($installed['versions'][$packageName])) {
continue;
}
return isset($installed['versions'][$packageName]['install_path']) ? $installed['versions'][$packageName]['install_path'] : null;
}
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
}
/**
* @return array
* @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
*/
public static function getRootPackage()
{
$installed = self::getInstalled();
return $installed[0]['root'];
}
/**
* Returns the raw installed.php data for custom implementations
*
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
* @return array[]
* @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
*/
public static function getRawData()
{
@trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED);
if (null === self::$installed) {
// only require the installed.php file if this file is loaded from its dumped location,
// and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
if (substr(__DIR__, -8, 1) !== 'C') {
self::$installed = include __DIR__ . '/installed.php';
} else {
self::$installed = array();
}
}
return self::$installed;
}
/**
* Returns the raw data of all installed.php which are currently loaded for custom implementations
*
* @return array[]
* @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
public static function getAllRawData()
{
return self::getInstalled();
}
/**
* Lets you reload the static array from another file
*
* This is only useful for complex integrations in which a project needs to use
* this class but then also needs to execute another project's autoloader in process,
* and wants to ensure both projects have access to their version of installed.php.
*
* A typical case would be PHPUnit, where it would need to make sure it reads all
* the data it needs from this class, then call reload() with
* `require $CWD/vendor/composer/installed.php` (or similar) as input to make sure
* the project in which it runs can then also use this class safely, without
* interference between PHPUnit's dependencies and the project's dependencies.
*
* @param array[] $data A vendor/composer/installed.php data set
* @return void
*
* @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
*/
public static function reload($data)
{
self::$installed = $data;
self::$installedByVendor = array();
}
/**
* @return array[]
* @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
*/
private static function getInstalled()
{
if (null === self::$canGetVendors) {
self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders');
}
$installed = array();
if (self::$canGetVendors) {
foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
if (isset(self::$installedByVendor[$vendorDir])) {
$installed[] = self::$installedByVendor[$vendorDir];
} elseif (is_file($vendorDir.'/composer/installed.php')) {
/** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
$required = require $vendorDir.'/composer/installed.php';
$installed[] = self::$installedByVendor[$vendorDir] = $required;
if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
self::$installed = $installed[count($installed) - 1];
}
}
}
}
if (null === self::$installed) {
// only require the installed.php file if this file is loaded from its dumped location,
// and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
if (substr(__DIR__, -8, 1) !== 'C') {
/** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
$required = require __DIR__ . '/installed.php';
self::$installed = $required;
} else {
self::$installed = array();
}
}
if (self::$installed !== array()) {
$installed[] = self::$installed;
}
return $installed;
}
}
+19
View File
@@ -0,0 +1,19 @@
Copyright (c) Nils Adermann, Jordi Boggiano
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished
to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
+10
View File
@@ -0,0 +1,10 @@
<?php
// autoload_classmap.php @generated by Composer
$vendorDir = dirname(__DIR__);
$baseDir = dirname($vendorDir);
return array(
'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
);
+9
View File
@@ -0,0 +1,9 @@
<?php
// autoload_namespaces.php @generated by Composer
$vendorDir = dirname(__DIR__);
$baseDir = dirname($vendorDir);
return array(
);
+10
View File
@@ -0,0 +1,10 @@
<?php
// autoload_psr4.php @generated by Composer
$vendorDir = dirname(__DIR__);
$baseDir = dirname($vendorDir);
return array(
'PHPMailer\\PHPMailer\\' => array($vendorDir . '/phpmailer/phpmailer/src'),
);
+38
View File
@@ -0,0 +1,38 @@
<?php
// autoload_real.php @generated by Composer
class ComposerAutoloaderInit2185d2f99bcd56787481d9357a5972d3
{
private static $loader;
public static function loadClassLoader($class)
{
if ('Composer\Autoload\ClassLoader' === $class) {
require __DIR__ . '/ClassLoader.php';
}
}
/**
* @return \Composer\Autoload\ClassLoader
*/
public static function getLoader()
{
if (null !== self::$loader) {
return self::$loader;
}
require __DIR__ . '/platform_check.php';
spl_autoload_register(array('ComposerAutoloaderInit2185d2f99bcd56787481d9357a5972d3', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
spl_autoload_unregister(array('ComposerAutoloaderInit2185d2f99bcd56787481d9357a5972d3', 'loadClassLoader'));
require __DIR__ . '/autoload_static.php';
call_user_func(\Composer\Autoload\ComposerStaticInit2185d2f99bcd56787481d9357a5972d3::getInitializer($loader));
$loader->register(true);
return $loader;
}
}
+36
View File
@@ -0,0 +1,36 @@
<?php
// autoload_static.php @generated by Composer
namespace Composer\Autoload;
class ComposerStaticInit2185d2f99bcd56787481d9357a5972d3
{
public static $prefixLengthsPsr4 = array (
'P' =>
array (
'PHPMailer\\PHPMailer\\' => 20,
),
);
public static $prefixDirsPsr4 = array (
'PHPMailer\\PHPMailer\\' =>
array (
0 => __DIR__ . '/..' . '/phpmailer/phpmailer/src',
),
);
public static $classMap = array (
'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
);
public static function getInitializer(ClassLoader $loader)
{
return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInit2185d2f99bcd56787481d9357a5972d3::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit2185d2f99bcd56787481d9357a5972d3::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInit2185d2f99bcd56787481d9357a5972d3::$classMap;
}, null, ClassLoader::class);
}
}
+91
View File
@@ -0,0 +1,91 @@
{
"packages": [
{
"name": "phpmailer/phpmailer",
"version": "v7.1.1",
"version_normalized": "7.1.1.0",
"source": {
"type": "git",
"url": "https://github.com/PHPMailer/PHPMailer.git",
"reference": "1bc1716a507a65e039d4ac9d9adebbbd0d346e15"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/1bc1716a507a65e039d4ac9d9adebbbd0d346e15",
"reference": "1bc1716a507a65e039d4ac9d9adebbbd0d346e15",
"shasum": ""
},
"require": {
"ext-ctype": "*",
"ext-filter": "*",
"ext-hash": "*",
"php": ">=5.5.0"
},
"require-dev": {
"dealerdirect/phpcodesniffer-composer-installer": "^1.0",
"doctrine/annotations": "^1.2.6 || ^1.13.3",
"php-parallel-lint/php-console-highlighter": "^1.0.0",
"php-parallel-lint/php-parallel-lint": "^1.3.2",
"phpcompatibility/php-compatibility": "^10.0.0@dev",
"squizlabs/php_codesniffer": "^3.13.5",
"yoast/phpunit-polyfills": "^1.0.4"
},
"suggest": {
"decomplexity/SendOauth2": "Adapter for using XOAUTH2 authentication",
"directorytree/imapengine": "For uploading sent messages via IMAP, see gmail example",
"ext-imap": "Needed to support advanced email address parsing according to RFC822",
"ext-mbstring": "Needed to send email in multibyte encoding charset or decode encoded addresses",
"ext-openssl": "Needed for secure SMTP sending and DKIM signing",
"greew/oauth2-azure-provider": "Needed for Microsoft Azure XOAUTH2 authentication",
"hayageek/oauth2-yahoo": "Needed for Yahoo XOAUTH2 authentication",
"league/oauth2-google": "Needed for Google XOAUTH2 authentication",
"psr/log": "For optional PSR-3 debug logging",
"symfony/polyfill-mbstring": "To support UTF-8 if the Mbstring PHP extension is not enabled (^1.2)",
"thenetworg/oauth2-azure": "Needed for Microsoft XOAUTH2 authentication"
},
"time": "2026-05-18T08:06:14+00:00",
"type": "library",
"installation-source": "dist",
"autoload": {
"psr-4": {
"PHPMailer\\PHPMailer\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"LGPL-2.1-only"
],
"authors": [
{
"name": "Marcus Bointon",
"email": "phpmailer@synchromedia.co.uk"
},
{
"name": "Jim Jagielski",
"email": "jimjag@gmail.com"
},
{
"name": "Andy Prevost",
"email": "codeworxtech@users.sourceforge.net"
},
{
"name": "Brent R. Matzelle"
}
],
"description": "PHPMailer is a full-featured email creation and transfer class for PHP",
"support": {
"issues": "https://github.com/PHPMailer/PHPMailer/issues",
"source": "https://github.com/PHPMailer/PHPMailer/tree/v7.1.1"
},
"funding": [
{
"url": "https://github.com/Synchro",
"type": "github"
}
],
"install-path": "../phpmailer/phpmailer"
}
],
"dev": true,
"dev-package-names": []
}
+32
View File
@@ -0,0 +1,32 @@
<?php return array(
'root' => array(
'name' => '__root__',
'pretty_version' => '1.0.0+no-version-set',
'version' => '1.0.0.0',
'reference' => null,
'type' => 'library',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
'dev' => true,
),
'versions' => array(
'__root__' => array(
'pretty_version' => '1.0.0+no-version-set',
'version' => '1.0.0.0',
'reference' => null,
'type' => 'library',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
'dev_requirement' => false,
),
'phpmailer/phpmailer' => array(
'pretty_version' => 'v7.1.1',
'version' => '7.1.1.0',
'reference' => '1bc1716a507a65e039d4ac9d9adebbbd0d346e15',
'type' => 'library',
'install_path' => __DIR__ . '/../phpmailer/phpmailer',
'aliases' => array(),
'dev_requirement' => false,
),
),
);
+26
View File
@@ -0,0 +1,26 @@
<?php
// platform_check.php @generated by Composer
$issues = array();
if (!(PHP_VERSION_ID >= 50500)) {
$issues[] = 'Your Composer dependencies require a PHP version ">= 5.5.0". You are running ' . PHP_VERSION . '.';
}
if ($issues) {
if (!headers_sent()) {
header('HTTP/1.1 500 Internal Server Error');
}
if (!ini_get('display_errors')) {
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . implode(PHP_EOL, $issues) . PHP_EOL.PHP_EOL);
} elseif (!headers_sent()) {
echo 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . str_replace('You are running '.PHP_VERSION.'.', '', implode(PHP_EOL, $issues)) . PHP_EOL.PHP_EOL;
}
}
trigger_error(
'Composer detected issues in your platform: ' . implode(' ', $issues),
E_USER_ERROR
);
}
+46
View File
@@ -0,0 +1,46 @@
GPL Cooperation Commitment
Version 1.0
Before filing or continuing to prosecute any legal proceeding or claim
(other than a Defensive Action) arising from termination of a Covered
License, we commit to extend to the person or entity ('you') accused
of violating the Covered License the following provisions regarding
cure and reinstatement, taken from GPL version 3. As used here, the
term 'this License' refers to the specific Covered License being
enforced.
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly
and finally terminates your license, and (b) permanently, if the
copyright holder fails to notify you of the violation by some
reasonable means prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you
have received notice of violation of this License (for any work)
from that copyright holder, and you cure the violation prior to 30
days after your receipt of the notice.
We intend this Commitment to be irrevocable, and binding and
enforceable against us and assignees of or successors to our
copyrights.
Definitions
'Covered License' means the GNU General Public License, version 2
(GPLv2), the GNU Lesser General Public License, version 2.1
(LGPLv2.1), or the GNU Library General Public License, version 2
(LGPLv2), all as published by the Free Software Foundation.
'Defensive Action' means a legal proceeding or claim that We bring
against you in response to a prior proceeding or claim initiated by
you or your affiliate.
'We' means each contributor to this repository as of the date of
inclusion of this file, including subsidiaries of a corporate
contributor.
This work is available under a Creative Commons Attribution-ShareAlike
4.0 International license (https://creativecommons.org/licenses/by-sa/4.0/).
+502
View File
@@ -0,0 +1,502 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts
as the successor of the GNU Library Public License, version 2, hence
the version number 2.1.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some
specially designated software packages--typically libraries--of the
Free Software Foundation and other authors who decide to use it. You
can use it too, but we suggest you first think carefully about whether
this license or the ordinary General Public License is the better
strategy to use in any particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use,
not price. Our General Public Licenses are designed to make sure that
you have the freedom to distribute copies of free software (and charge
for this service if you wish); that you receive source code or can get
it if you want it; that you can change the software and use pieces of
it in new free programs; and that you are informed that you can do
these things.
To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these
rights. These restrictions translate to certain responsibilities for
you if you distribute copies of the library or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that
there is no warranty for the free library. Also, if the library is
modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.
Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder. Therefore, we insist that
any patent license obtained for a version of the library must be
consistent with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License. This license, the GNU Lesser
General Public License, applies to certain designated libraries, and
is quite different from the ordinary General Public License. We use
this license for certain libraries in order to permit linking those
libraries into non-free programs.
When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library. The ordinary
General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom. The Lesser General
Public License permits more lax criteria for linking other code with
the library.
We call this license the "Lesser" General Public License because it
does Less to protect the user's freedom than the ordinary General
Public License. It also provides other free software developers Less
of an advantage over competing non-free programs. These disadvantages
are the reason we use the ordinary General Public License for many
libraries. However, the Lesser license provides advantages in certain
special circumstances.
For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it becomes
a de-facto standard. To achieve this, non-free programs must be
allowed to use the library. A more frequent case is that a free
library does the same job as widely used non-free libraries. In this
case, there is little to gain by limiting the free library to free
software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of
free software. For example, permission to use the GNU C Library in
non-free programs enables many more people to use the whole GNU
operating system, as well as its variant, the GNU/Linux operating
system.
Although the Lesser General Public License is Less protective of the
users' freedom, it does ensure that the user of a program that is
linked with the Library has the freedom and the wherewithal to run
that program using a modified version of the Library.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other
program which contains a notice placed by the copyright holder or
other authorized party saying it may be distributed under the terms of
this Lesser General Public License (also called "this License").
Each licensee is addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run time a
copy of the library already present on the user's computer system,
rather than copying library functions into the executable, and (2)
will operate properly with a modified version of the library, if
the user installs one, as long as the modified version is
interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
d) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
e) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the materials to be distributed need not include anything that is
normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Lesser General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).
To apply these terms, attach the following notices to the library. It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
<one line to give the library's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
<signature of Ty Coon>, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!
+232
View File
@@ -0,0 +1,232 @@
[![SWUbanner](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner2-direct.svg)](https://supportukrainenow.org/)
![PHPMailer](https://raw.github.com/PHPMailer/PHPMailer/master/examples/images/phpmailer.png)
# PHPMailer A full-featured email creation and transfer class for PHP
[![Test status](https://github.com/PHPMailer/PHPMailer/workflows/Tests/badge.svg)](https://github.com/PHPMailer/PHPMailer/actions)
[![codecov.io](https://codecov.io/gh/PHPMailer/PHPMailer/branch/master/graph/badge.svg?token=iORZpwmYmM)](https://codecov.io/gh/PHPMailer/PHPMailer)
[![Latest Stable Version](https://img.shields.io/packagist/v/phpmailer/phpmailer?label=stable)](https://packagist.org/packages/phpmailer/phpmailer)
[![Total Downloads](https://img.shields.io/packagist/dt/phpmailer/phpmailer)](https://packagist.org/packages/phpmailer/phpmailer)
[![License](https://img.shields.io/github/license/PHPMailer/PHPMailer)](https://packagist.org/packages/phpmailer/phpmailer)
[![API Docs](https://github.com/phpmailer/phpmailer/workflows/Docs/badge.svg)](https://phpmailer.github.io/PHPMailer/)
[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/PHPMailer/PHPMailer/badge)](https://api.securityscorecards.dev/projects/github.com/PHPMailer/PHPMailer)
## Features
- Probably the world's most popular code for sending email from PHP!
- Used by many open-source projects: WordPress, Drupal, 1CRM, SugarCRM, Yii, Joomla! and many more
- Integrated SMTP support send without a local mail server
- Send emails with multiple To, CC, BCC, and Reply-to addresses
- Multipart/alternative emails for mail clients that do not read HTML email
- Add attachments, including inline
- Support for UTF-8 content and 8bit, base64, binary, and quoted-printable encodings
- Full UTF-8 support when using servers that support `SMTPUTF8`.
- Support for iCal events in multiparts and attachments
- SMTP authentication with `LOGIN`, `PLAIN`, `CRAM-MD5`, and `XOAUTH2` mechanisms over SMTPS and SMTP+STARTTLS transports
- Validates email addresses automatically
- Protects against header injection attacks
- Error messages in over 50 languages!
- DKIM and S/MIME signing support
- Compatible with PHP 5.5 and later, including PHP 8.5
- Namespaced to prevent name clashes
- Much more!
## Why you might need it
Many PHP developers need to send email from their code. The only PHP function that supports this directly is [`mail()`](https://www.php.net/manual/en/function.mail.php). However, it does not provide any assistance for making use of popular features such as authentication, HTML messages, and attachments.
Formatting email correctly is surprisingly difficult. There are myriad overlapping (and conflicting) standards, requiring tight adherence to horribly complicated formatting and encoding rules the vast majority of code that you'll find online that uses the `mail()` function directly is just plain wrong, if not unsafe!
The PHP `mail()` function usually sends via a local mail server, typically fronted by a `sendmail` binary on Linux, BSD, and macOS platforms, however, Windows usually doesn't include a local mail server; PHPMailer's integrated SMTP client allows email sending on all platforms without needing a local mail server. Be aware though, that the `mail()` function should be avoided when possible; it's both faster and [safer](https://exploitbox.io/paper/Pwning-PHP-Mail-Function-For-Fun-And-RCE.html) to use SMTP to localhost.
*Please* don't be tempted to do it yourself if you don't use PHPMailer, there are many other excellent libraries that
you should look at before rolling your own. Try [Symfony Mailer](https://symfony.com/doc/current/mailer.html), [Laminas/Mail](https://docs.laminas.dev/laminas-mail/), [ZetaComponents](https://github.com/zetacomponents/Mail), etc.
## License
This software is distributed under the [LGPL 2.1](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html) license, along with the [GPL Cooperation Commitment](https://gplcc.github.io/gplcc/). Please read [LICENSE](https://github.com/PHPMailer/PHPMailer/blob/master/LICENSE) for information on the software availability and distribution.
## Installation & loading
PHPMailer is available on [Packagist](https://packagist.org/packages/phpmailer/phpmailer) (using semantic versioning), and installation via [Composer](https://getcomposer.org) is the recommended way to install PHPMailer. Just add this line to your `composer.json` file:
```json
"phpmailer/phpmailer": "^7.0.0"
```
or run
```sh
composer require phpmailer/phpmailer
```
Note that the `vendor` folder and the `vendor/autoload.php` script are generated by Composer; they are not part of PHPMailer.
If you want to use XOAUTH2 authentication, you will also need to add a dependency on the `league/oauth2-client` and appropriate service adapters package in your `composer.json`, or take a look at
by @decomplexity's [SendOauth2 wrapper](https://github.com/decomplexity/SendOauth2), especially if you're using Microsoft services.
Alternatively, if you're not using Composer, you
can [download PHPMailer as a zip file](https://github.com/PHPMailer/PHPMailer/archive/master.zip), (note that docs and examples are not included in the zip file), then copy the contents of the PHPMailer folder into one of the `include_path` directories specified in your PHP configuration and load each class file manually:
```php
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'path/to/PHPMailer/src/Exception.php';
require 'path/to/PHPMailer/src/PHPMailer.php';
require 'path/to/PHPMailer/src/SMTP.php';
```
If you're not using the `SMTP` class explicitly (you're probably not), you don't need a `use` line for it. Even if you're not using exceptions, you do still need to load the `Exception` class as it is used internally.
## Legacy versions
PHPMailer 5.2 (which is compatible with PHP 5.0 — 7.0) is no longer supported, even for security updates. You will find the latest version of 5.2 in the [5.2-stable branch](https://github.com/PHPMailer/PHPMailer/tree/5.2-stable). If you're using PHP 5.5 or later (which you should be), upgrade to a later release.
### Upgrading from 5.2
The biggest changes are that source files are now in the `src/` folder, and PHPMailer now declares the namespace `PHPMailer\PHPMailer`. This has several important effects [read the upgrade guide](https://github.com/PHPMailer/PHPMailer/tree/master/UPGRADING.md) for more details.
### Minimal installation
While installing the entire package manually or with Composer is simple, convenient, and reliable, you may want to include only vital files in your project. At the very least you will need [src/PHPMailer.php](https://github.com/PHPMailer/PHPMailer/tree/master/src/PHPMailer.php). If you're using SMTP, you'll need [src/SMTP.php](https://github.com/PHPMailer/PHPMailer/tree/master/src/SMTP.php), and if you're using POP-before SMTP (*very* unlikely!), you'll need [src/POP3.php](https://github.com/PHPMailer/PHPMailer/tree/master/src/POP3.php). You can skip the [language](https://github.com/PHPMailer/PHPMailer/tree/master/language/) folder if you're not showing errors to users and can make do with English-only errors. If you're using XOAUTH2 you will need [src/OAuth.php](https://github.com/PHPMailer/PHPMailer/tree/master/src/OAuth.php) as well as the Composer dependencies for the services you wish to authenticate with. Really, it's much easier to use Composer!
## A Simple Example
```php
<?php
//Import PHPMailer classes into the global namespace
//These must be at the top of your script, not inside a function
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
//Load Composer's autoloader (created by composer, not included with PHPMailer)
require 'vendor/autoload.php';
//Create an instance; passing `true` enables exceptions
$mail = new PHPMailer(true);
try {
//Server settings
$mail->SMTPDebug = SMTP::DEBUG_SERVER; //Enable verbose debug output
$mail->isSMTP(); //Send using SMTP
$mail->Host = 'smtp.example.com'; //Set the SMTP server to send through
$mail->SMTPAuth = true; //Enable SMTP authentication
$mail->Username = 'user@example.com'; //SMTP username
$mail->Password = 'secret'; //SMTP password
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; //Enable implicit TLS encryption
$mail->Port = 465; //TCP port to connect to; use 587 if you have set `SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS`
//Recipients
$mail->setFrom('from@example.com', 'Mailer');
$mail->addAddress('joe@example.net', 'Joe User'); //Add a recipient
$mail->addAddress('ellen@example.com'); //Name is optional
$mail->addReplyTo('info@example.com', 'Information');
$mail->addCC('cc@example.com');
$mail->addBCC('bcc@example.com');
//Attachments
$mail->addAttachment('/var/tmp/file.tar.gz'); //Add attachments
$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); //Optional name
//Content
$mail->isHTML(true); //Set email format to HTML
$mail->Subject = 'Here is the subject';
$mail->Body = 'This is the HTML message body <b>in bold!</b>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
$mail->send();
echo 'Message has been sent';
} catch (Exception $e) {
echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
}
```
You'll find plenty to play with in the [examples](https://github.com/PHPMailer/PHPMailer/tree/master/examples) folder, which covers many common scenarios including sending through Gmail, building contact forms, sending to mailing lists, and more.
If you are re-using the instance (e.g. when sending to a mailing list), you may need to clear the recipient list to avoid sending duplicate messages. See [the mailing list example](https://github.com/PHPMailer/PHPMailer/blob/master/examples/mailing_list.phps) for further guidance.
That's it. You should now be ready to use PHPMailer!
## Localization
PHPMailer defaults to English, but in the [language](https://github.com/PHPMailer/PHPMailer/tree/master/language/) folder, you'll find many translations for PHPMailer error messages that you may encounter. Their filenames contain [ISO 639-1](https://en.wikipedia.org/wiki/ISO_639-1) language code for the translations, for example `fr` for French. To specify a language, you need to tell PHPMailer which one to use, like this:
```php
//To load the French version
$mail->setLanguage('fr', '/optional/path/to/language/directory/');
```
We welcome corrections and new languages if you're looking for corrections, run the [Language/TranslationCompletenessTest.php](https://github.com/PHPMailer/PHPMailer/blob/master/test/Language/TranslationCompletenessTest.php) script in the tests folder and it will show any missing translations.
## Documentation
Start reading at the [GitHub wiki](https://github.com/PHPMailer/PHPMailer/wiki). If you're having trouble, head for [the troubleshooting guide](https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting) as it's frequently updated.
Examples of how to use PHPMailer for common scenarios can be found in the [examples](https://github.com/PHPMailer/PHPMailer/tree/master/examples) folder. If you're looking for a good starting point, we recommend you start with [the Gmail example](https://github.com/PHPMailer/PHPMailer/tree/master/examples/gmail.phps).
To reduce PHPMailer's deployed code footprint, examples are not included if you load PHPMailer via Composer or via [GitHub's zip file download](https://github.com/PHPMailer/PHPMailer/archive/master.zip), so you'll need to either clone the git repository or use the above links to get to the examples directly.
Complete generated API documentation is [available online](https://phpmailer.github.io/PHPMailer/).
You can generate complete API-level documentation by running `phpdoc` in the top-level folder, and documentation will appear in the `docs` folder, though you'll need to have [PHPDocumentor](https://www.phpdoc.org) installed. You may find [the unit tests](https://github.com/PHPMailer/PHPMailer/blob/master/test/PHPMailer/PHPMailerTest.php) a good reference for how to do various operations such as encryption.
If the documentation doesn't cover what you need, search the [many questions on Stack Overflow](https://stackoverflow.com/questions/tagged/phpmailer), and before you ask a question about "SMTP Error: Could not connect to SMTP host.", [read the troubleshooting guide](https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting).
## Tests
[PHPMailer tests](https://github.com/PHPMailer/PHPMailer/tree/master/test/) use PHPUnit 9, with [a polyfill](https://github.com/Yoast/PHPUnit-Polyfills) to let 9-style tests run on older PHPUnit and PHP versions.
[![Test status](https://github.com/PHPMailer/PHPMailer/workflows/Tests/badge.svg)](https://github.com/PHPMailer/PHPMailer/actions)
If this isn't passing, is there something you can do to help?
## Security
Please disclose any vulnerabilities found responsibly report security issues to the maintainers privately.
See [SECURITY](https://github.com/PHPMailer/PHPMailer/tree/master/SECURITY.md) and [PHPMailer's security advisories on GitHub](https://github.com/PHPMailer/PHPMailer/security).
## Contributing
Please submit bug reports, suggestions, and pull requests to the [GitHub issue tracker](https://github.com/PHPMailer/PHPMailer/issues).
We're particularly interested in fixing edge cases, expanding test coverage, and updating translations.
If you found a mistake in the docs, or want to add something, go ahead and amend the wiki anyone can edit it.
If you have git clones from prior to the move to the PHPMailer GitHub organisation, you'll need to update any remote URLs referencing the old GitHub location with a command like this from within your clone:
```sh
git remote set-url upstream https://github.com/PHPMailer/PHPMailer.git
```
Please *don't* use the SourceForge or Google Code projects any more; they are obsolete and no longer maintained.
## Sponsorship
Development time and resources for PHPMailer are provided by [Smartmessages.net](https://info.smartmessages.net/), the world's only privacy-first email marketing system.
<a href="https://info.smartmessages.net/"><img src="https://www.smartmessages.net/img/smartmessages-logo.svg" width="550" alt="Smartmessages.net privacy-first email marketing logo"></a>
Donations are very welcome, whether in beer 🍺, T-shirts 👕, or cold, hard cash 💰. Sponsorship through GitHub is a simple and convenient way to say "thank you" to PHPMailer's maintainers and contributors just click the "Sponsor" button [on the project page](https://github.com/PHPMailer/PHPMailer). If your company uses PHPMailer, consider taking part in Tidelift's enterprise support programme.
## PHPMailer For Enterprise
Available as part of the Tidelift Subscription.
The maintainers of PHPMailer and thousands of other packages are working with Tidelift to deliver commercial
support and maintenance for the open-source packages you use to build your applications. Save time, reduce risk, and
improve code health, while paying the maintainers of the exact packages you
use. [Learn more.](https://tidelift.com/subscription/pkg/packagist-phpmailer-phpmailer?utm_source=packagist-phpmailer-phpmailer&utm_medium=referral&utm_campaign=enterprise&utm_term=repo)
## Changelog
See [changelog](changelog.md).
## History
- PHPMailer was originally written in 2001 by Brent R. Matzelle as a [SourceForge project](https://sourceforge.net/projects/phpmailer/).
- [Marcus Bointon](https://github.com/Synchro) (`coolbru` on SF) and Andy Prevost (`codeworxtech`) took over the project in 2004.
- Became an Apache incubator project on Google Code in 2010, managed by Jim Jagielski.
- Marcus created [his fork on GitHub](https://github.com/Synchro/PHPMailer) in 2008.
- Jim and Marcus decide to join forces and use GitHub as the canonical and official repo for PHPMailer in 2013.
- PHPMailer moves to [the PHPMailer organisation](https://github.com/PHPMailer) on GitHub in 2013.
### What's changed since moving from SourceForge?
- Official successor to the SourceForge and Google Code projects.
- Test suite.
- Continuous integration with GitHub Actions.
- Composer support.
- Public development.
- Additional languages and language strings.
- CRAM-MD5 authentication support.
- Preserves full repo history of authors, commits, and branches from the original SourceForge project.
+37
View File
@@ -0,0 +1,37 @@
# Security notices relating to PHPMailer
Please disclose any security issues or vulnerabilities found through [Tidelift's coordinated disclosure system](https://tidelift.com/security) or to the maintainers privately.
PHPMailer 6.4.1 and earlier contain a vulnerability that can result in untrusted code being called (if such code is injected into the host project's scope by other means). If the `$patternselect` parameter to `validateAddress()` is set to `'php'` (the default, defined by `PHPMailer::$validator`), and the global namespace contains a function called `php`, it will be called in preference to the built-in validator of the same name. Mitigated in PHPMailer 6.5.0 by denying the use of simple strings as validator function names. Recorded as [CVE-2021-3603](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2021-3603). Reported by [Vikrant Singh Chauhan](mailto:vi@hackberry.xyz) via [huntr.dev](https://www.huntr.dev/).
PHPMailer versions 6.4.1 and earlier contain a possible remote code execution vulnerability through the `$lang_path` parameter of the `setLanguage()` method. If the `$lang_path` parameter is passed unfiltered from user input, it can be set to [a UNC path](https://docs.microsoft.com/en-us/dotnet/standard/io/file-path-formats#unc-paths), and if an attacker is also able to persuade the server to load a file from that UNC path, a script file under their control may be executed. This vulnerability only applies to systems that resolve UNC paths, typically only Microsoft Windows.
PHPMailer 6.5.0 mitigates this by no longer treating translation files as PHP code, but by parsing their text content directly. This approach avoids the possibility of executing unknown code while retaining backward compatibility. This isn't ideal, so the current translation format is deprecated and will be replaced in the next major release. Recorded as [CVE-2021-34551](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2021-34551). Reported by [Jilin Diting Information Technology Co., Ltd](https://listensec.com) via Tidelift.
PHPMailer versions between 6.1.8 and 6.4.0 contain a regression of the earlier CVE-2018-19296 object injection vulnerability as a result of [a fix for Windows UNC paths in 6.1.8](https://github.com/PHPMailer/PHPMailer/commit/e2e07a355ee8ff36aba21d0242c5950c56e4c6f9). Recorded as [CVE-2020-36326](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2020-36326). Reported by Fariskhi Vidyan via Tidelift. 6.4.1 fixes this issue, and also enforces stricter checks for URL schemes in local path contexts.
PHPMailer versions 6.1.5 and earlier contain an output escaping bug that occurs in `Content-Type` and `Content-Disposition` when filenames passed into `addAttachment` and other methods that accept attachment names contain double quote characters, in contravention of RFC822 3.4.1. No specific vulnerability has been found relating to this, but it could allow file attachments to bypass attachment filters that are based on matching filename extensions. Recorded as [CVE-2020-13625](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2020-13625). Reported by Elar Lang of Clarified Security.
PHPMailer versions prior to 6.0.6 and 5.2.27 are vulnerable to an object injection attack by passing `phar://` paths into `addAttachment()` and other functions that may receive unfiltered local paths, possibly leading to RCE. Recorded as [CVE-2018-19296](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2018-19296). See [this article](https://knasmueller.net/5-answers-about-php-phar-exploitation) for more info on this type of vulnerability. Mitigated by blocking the use of paths containing URL-protocol style prefixes such as `phar://`. Reported by Sehun Oh of cyberone.kr.
PHPMailer versions prior to 5.2.24 (released July 26th 2017) have an XSS vulnerability in one of the code examples, [CVE-2017-11503](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2017-11503). The `code_generator.phps` example did not filter user input prior to output. This file is distributed with a `.phps` extension, so it is not normally executable unless it is explicitly renamed, and the file is not included when PHPMailer is loaded through composer, so it is safe by default. There was also an undisclosed potential XSS vulnerability in the default exception handler (unused by default). Patches for both issues kindly provided by Patrick Monnerat of the Fedora Project.
PHPMailer versions prior to 5.2.22 (released January 9th 2017) have a local file disclosure vulnerability, [CVE-2017-5223](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2017-5223). If content passed into `msgHTML()` is sourced from unfiltered user input, relative paths can map to absolute local file paths and added as attachments. Also note that `addAttachment` (just like `file_get_contents`, `passthru`, `unlink`, etc) should not be passed user-sourced params either! Reported by Yongxiang Li of Asiasecurity.
PHPMailer versions prior to 5.2.20 (released December 28th 2016) are vulnerable to [CVE-2016-10045](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-10045) a remote code execution vulnerability, responsibly reported by [Dawid Golunski](https://legalhackers.com/advisories/PHPMailer-Exploit-Remote-Code-Exec-CVE-2016-10045-Vuln-Patch-Bypass.html), and patched by Paul Buonopane (@Zenexer).
PHPMailer versions prior to 5.2.18 (released December 2016) are vulnerable to [CVE-2016-10033](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-10033) a remote code execution vulnerability, responsibly reported by [Dawid Golunski](https://legalhackers.com/advisories/PHPMailer-Exploit-Remote-Code-Exec-CVE-2016-10033-Vuln.html).
PHPMailer versions prior to 5.2.14 (released November 2015) are vulnerable to [CVE-2015-8476](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2015-8476) an SMTP CRLF injection bug permitting arbitrary message sending.
PHPMailer versions prior to 5.2.10 (released May 2015) are vulnerable to [CVE-2008-5619](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2008-5619), a remote code execution vulnerability in the bundled html2text library. This file was removed in 5.2.10, so if you are using a version prior to that and make use of the html2text function, it's vitally important that you upgrade and remove this file.
PHPMailer versions prior to 2.0.7 and 2.2.1 are vulnerable to [CVE-2012-0796](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-0796), an email header injection attack.
Joomla 1.6.0 uses PHPMailer in an unsafe way, allowing it to reveal local file paths, reported in [CVE-2011-3747](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-3747).
PHPMailer didn't sanitise the `$lang_path` parameter in `SetLanguage`. This wasn't a problem in itself, but some apps (PHPClassifieds, ATutor) also failed to sanitise user-provided parameters passed to it, permitting semi-arbitrary local file inclusion, reported in [CVE-2010-4914](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-4914), [CVE-2007-2021](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2007-2021) and [CVE-2006-5734](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2006-5734).
PHPMailer 1.7.2 and earlier contained a possible DDoS vulnerability reported in [CVE-2005-1807](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2005-1807).
PHPMailer 1.7 and earlier (June 2003) have a possible vulnerability in the `SendmailSend` method where shell commands may not be sanitised. Reported in [CVE-2007-3215](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2007-3215).
+48
View File
@@ -0,0 +1,48 @@
# A short history of UTF-8 in email
## Background
For most of its existence, SMTP has been a 7-bit channel, only supporting US-ASCII characters. This has been a problem for many languages, especially those that use non-Latin scripts, and has led to the development of various workarounds.
The first major improvement, introduced in 1994 in [RFC 1652](https://www.rfc-editor.org/rfc/rfc1652) and extended in 2011 in [RFC 6152](https://www.rfc-editor.org/rfc/rfc6152), was the addition of the `8BITMIME` SMTP extension, which allowed raw 8-bit data to be included in message bodies sent over SMTP.
This allowed the message *contents* to contain 8-bit data, including things like UTF-8 text, even though the SMTP protocol itself was still firmly 7-bit. This worked by having the server switch to 8-bit after the headers, and then back to 7-bit after the completion of a `DATA` command.
From 1996, messages could support [RFC 2047 encoding](https://www.rfc-editor.org/rfc/rfc2047), which permitted inserting characters from any character set into header *values* (but not names), but only by encoding them in somewhat unreadable ways to allow them to survive passage through a 7-bit channel. An example with a subject of "Schrödinger's cat" would be:
```
Subject: =?utf-8?Q=Schr=C3=B6dinger=92s_Cat?=
```
Here the accented `ö` is encoded as `=C3=B6`, which is the UTF-8 encoding of the 2-byte character, and the whole thing is wrapped in `=?utf-8?Q?` to indicate that it uses the UTF-8 charset and `quoted-printable` encoding. This is a bit of a hack, and not very human-friendly, but it works.
Similarly, 8-bit message bodies could be encoded using the same `quoted-printable` and `base64` content transfer encoding (CTE) schemes, which preserved the 8-bit content while encoding it in a format that could survive transmission through a 7-bit channel.
Domain names were originally also stuck in a 7-bit world, actually even more constrained to only a subset of the US-ASCII character set. But of course, many people want to have domains in their own language/script. Internationalized domain name (IDN) permitted this, using yet another complex encoding scheme called punycode, defined for domain names in 2003 in [RFC 3492](https://www.rfc-editor.org/rfc/rfc3492). This finally allowed the domain part (after the `@`) of email addresses to contain UTF-8, though it was actually an illusion preserved by email client applications. For example, an address of
`user@café.example.com` translates to
`user@xn--caf-dma.example.com` in punycode, rendering it mostly unreadable, but 7-bit friendly, and remaining compatible with email clients that don't know about IDN.
The one remaining part of email that could not handle UTF-8 is the local part of email addresses (the part before the `@`).
I've only mentioned UTF-8 here, but most of these approaches also allowed other character sets that were popular, such as [the ISO-8859 family](https://en.wikipedia.org/wiki/ISO/IEC_8859). However, UTF-8 solves so many problems that these other character sets are gradually falling out of favour, as UTF-8 can support all languages.
This patchwork of overlapping approaches has served us well, but we have to admit that it's a mess.
## SMTPUTF8
`SMTPUTF8` is another SMTP extension, defined in [RFC 6531](https://www.rfc-editor.org/rfc/rfc6531) in 2012. This essentially solves the whole problem, allowing the entire SMTP conversation — commands, headers, and message bodies — to be sent in raw, unencoded UTF-8.
But there's a problem with this approach: adoption. If you send a UTF-8 message to a recipient whose mail server doesn't support this format, the sender has to somehow downgrade the message to make it survive a transition to 7-bit. This is a hard problem to solve, especially since there is no way to make a 7-bit system support UTF-8 in the local parts of addresses. This downgrade problem is what held up the adoption of `SMTPUTF8` in PHPMailer for many years, but in that time the *de facto* approach has become to simply fail in that situation, and tell the recipient it's time they upgraded their mail server 😅.
The vast majority of large email providers (gmail, Yahoo, Microsoft, etc), mail servers (postfix, exim, IIS, etc), and mail clients (Apple Mail, Outlook, Thunderbird, etc) now all support SMTPUTF8, so the need for backward compatibility is no longer what it was.
## SMTPUTF8 in PHPMailer
Several other PHP email libraries have implemented a halfway solution to `SMTPUTF8`, adding only the ability to support UTF-8 in email addresses, not elsewhere in the protocol. I wanted PHPMailer to do it "the right way", and this has taken much longer. PHPMailer now supports UTF-8 everywhere, and does not need to use transfer or header encodings for UTF-8 text when connecting to an `SMTPUTF8`-capable mail server.
This support is handled automatically: if you add an email address that requires UTF-8, PHPMailer will use UTF-8 for everything. If not, it will fall back to 7-bit and encode the message as necessary.
The one place you will need to be careful is in the selection of the address validator. By default, PHPMailer uses PHP's built-in `filter_var` validator, which does not allow UTF-8 email addresses. When PHPMailer spots that you have submitted a UTF-8 address, but have not altered the default validator, it will automatically switch to using a UTF-8-compatible validator. As soon as you do this, any SMTP connection you make will *require* that the server you connect to supports `SMTPUTF8`. You can select this validator explicitly by setting `PHPMailer::$validator = 'eai'` (an acronym for Email Address Internationalization).
### Postfix gotcha
Postfix has supported `SMTPUTF8` for a long time, but it has a peculiarity that it does not always advertise that it does so. However, rather surprisingly, if you use UTF-8 in the conversation, it will work anyway.
+1
View File
@@ -0,0 +1 @@
7.1.1
+84
View File
@@ -0,0 +1,84 @@
{
"name": "phpmailer/phpmailer",
"type": "library",
"description": "PHPMailer is a full-featured email creation and transfer class for PHP",
"authors": [
{
"name": "Marcus Bointon",
"email": "phpmailer@synchromedia.co.uk"
},
{
"name": "Jim Jagielski",
"email": "jimjag@gmail.com"
},
{
"name": "Andy Prevost",
"email": "codeworxtech@users.sourceforge.net"
},
{
"name": "Brent R. Matzelle"
}
],
"funding": [
{
"url": "https://github.com/Synchro",
"type": "github"
}
],
"config": {
"allow-plugins": {
"dealerdirect/phpcodesniffer-composer-installer": true
},
"lock": false
},
"require": {
"php": ">=5.5.0",
"ext-ctype": "*",
"ext-filter": "*",
"ext-hash": "*"
},
"require-dev": {
"dealerdirect/phpcodesniffer-composer-installer": "^1.0",
"doctrine/annotations": "^1.2.6 || ^1.13.3",
"php-parallel-lint/php-console-highlighter": "^1.0.0",
"php-parallel-lint/php-parallel-lint": "^1.3.2",
"phpcompatibility/php-compatibility": "^10.0.0@dev",
"squizlabs/php_codesniffer": "^3.13.5",
"yoast/phpunit-polyfills": "^1.0.4"
},
"suggest": {
"decomplexity/SendOauth2": "Adapter for using XOAUTH2 authentication",
"ext-imap": "Needed to support advanced email address parsing according to RFC822",
"ext-mbstring": "Needed to send email in multibyte encoding charset or decode encoded addresses",
"ext-openssl": "Needed for secure SMTP sending and DKIM signing",
"greew/oauth2-azure-provider": "Needed for Microsoft Azure XOAUTH2 authentication",
"hayageek/oauth2-yahoo": "Needed for Yahoo XOAUTH2 authentication",
"league/oauth2-google": "Needed for Google XOAUTH2 authentication",
"psr/log": "For optional PSR-3 debug logging",
"symfony/polyfill-mbstring": "To support UTF-8 if the Mbstring PHP extension is not enabled (^1.2)",
"thenetworg/oauth2-azure": "Needed for Microsoft XOAUTH2 authentication",
"directorytree/imapengine": "For uploading sent messages via IMAP, see gmail example"
},
"minimum-stability": "dev",
"prefer-stable": true,
"autoload": {
"psr-4": {
"PHPMailer\\PHPMailer\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"PHPMailer\\Test\\": "test/"
}
},
"license": "LGPL-2.1-only",
"scripts": {
"check": "./vendor/bin/phpcs",
"style": "./vendor/bin/phpcbf",
"test": "./vendor/bin/phpunit --no-coverage",
"coverage": "./vendor/bin/phpunit",
"lint": [
"@php ./vendor/php-parallel-lint/php-parallel-lint/parallel-lint . --show-deprecated -e php,phps --exclude vendor --exclude .git --exclude build"
]
}
}
+182
View File
@@ -0,0 +1,182 @@
<?php
/**
* PHPMailer - PHP email creation and transport class.
* PHP Version 5.5
* @package PHPMailer
* @see https://github.com/PHPMailer/PHPMailer/ The PHPMailer GitHub project
* @author Marcus Bointon (Synchro/coolbru) <phpmailer@synchromedia.co.uk>
* @author Jim Jagielski (jimjag) <jimjag@gmail.com>
* @author Andy Prevost (codeworxtech) <codeworxtech@users.sourceforge.net>
* @author Brent R. Matzelle (original founder)
* @copyright 2012 - 2020 Marcus Bointon
* @copyright 2010 - 2012 Jim Jagielski
* @copyright 2004 - 2009 Andy Prevost
* @license https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html GNU Lesser General Public License
* @note This program is distributed in the hope that it will be useful - WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE.
*/
/**
* Get an OAuth2 token from an OAuth2 provider.
* * Install this script on your server so that it's accessible
* as [https/http]://<yourdomain>/<folder>/get_oauth_token.php
* e.g.: http://localhost/phpmailer/get_oauth_token.php
* * Ensure dependencies are installed with 'composer install'
* * Set up an app in your Google/Yahoo/Microsoft account
* * Set the script address as the app's redirect URL
* If no refresh token is obtained when running this file,
* revoke access to your app and run the script again.
*/
namespace PHPMailer\PHPMailer;
/**
* Aliases for League Provider Classes
* Make sure you have added these to your composer.json and run `composer install`
* Plenty to choose from here:
* @see https://oauth2-client.thephpleague.com/providers/thirdparty/
*/
//@see https://github.com/thephpleague/oauth2-google
use League\OAuth2\Client\Provider\Google;
//@see https://packagist.org/packages/hayageek/oauth2-yahoo
use Hayageek\OAuth2\Client\Provider\Yahoo;
//@see https://github.com/stevenmaguire/oauth2-microsoft
use Stevenmaguire\OAuth2\Client\Provider\Microsoft;
//@see https://github.com/greew/oauth2-azure-provider
use Greew\OAuth2\Client\Provider\Azure;
if (!isset($_GET['code']) && !isset($_POST['provider'])) {
?>
<html>
<body>
<form method="post">
<h1>Select Provider</h1>
<input type="radio" name="provider" value="Google" id="providerGoogle">
<label for="providerGoogle">Google</label><br>
<input type="radio" name="provider" value="Yahoo" id="providerYahoo">
<label for="providerYahoo">Yahoo</label><br>
<input type="radio" name="provider" value="Microsoft" id="providerMicrosoft">
<label for="providerMicrosoft">Microsoft</label><br>
<input type="radio" name="provider" value="Azure" id="providerAzure">
<label for="providerAzure">Azure</label><br>
<h1>Enter id and secret</h1>
<p>These details are obtained by setting up an app in your provider's developer console.
</p>
<p>ClientId: <input type="text" name="clientId"><p>
<p>ClientSecret: <input type="text" name="clientSecret"></p>
<p>TenantID (only relevant for Azure): <input type="text" name="tenantId"></p>
<input type="submit" value="Continue">
</form>
</body>
</html>
<?php
exit;
}
require 'vendor/autoload.php';
session_start();
$providerName = '';
$clientId = '';
$clientSecret = '';
$tenantId = '';
if (array_key_exists('provider', $_POST)) {
$providerName = $_POST['provider'];
$clientId = $_POST['clientId'];
$clientSecret = $_POST['clientSecret'];
$tenantId = $_POST['tenantId'];
$_SESSION['provider'] = $providerName;
$_SESSION['clientId'] = $clientId;
$_SESSION['clientSecret'] = $clientSecret;
$_SESSION['tenantId'] = $tenantId;
} elseif (array_key_exists('provider', $_SESSION)) {
$providerName = $_SESSION['provider'];
$clientId = $_SESSION['clientId'];
$clientSecret = $_SESSION['clientSecret'];
$tenantId = $_SESSION['tenantId'];
}
//If you don't want to use the built-in form, set your client id and secret here
//$clientId = 'RANDOMCHARS-----duv1n2.apps.googleusercontent.com';
//$clientSecret = 'RANDOMCHARS-----lGyjPcRtvP';
//If this automatic URL doesn't work, set it yourself manually to the URL of this script
$redirectUri = (isset($_SERVER['HTTPS']) ? 'https://' : 'http://') . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
//$redirectUri = 'http://localhost/PHPMailer/redirect';
$params = [
'clientId' => $clientId,
'clientSecret' => $clientSecret,
'redirectUri' => $redirectUri,
'accessType' => 'offline'
];
$options = [];
$provider = null;
switch ($providerName) {
case 'Google':
$provider = new Google($params);
$options = [
'scope' => [
'https://mail.google.com/'
]
];
break;
case 'Yahoo':
$provider = new Yahoo($params);
break;
case 'Microsoft':
$provider = new Microsoft($params);
$options = [
'scope' => [
'wl.imap',
'wl.offline_access'
]
];
break;
case 'Azure':
$params['tenantId'] = $tenantId;
$provider = new Azure($params);
$options = [
'scope' => [
'https://outlook.office.com/SMTP.Send',
'offline_access'
]
];
break;
}
if (null === $provider) {
exit('Provider missing');
}
if (!isset($_GET['code'])) {
//If we don't have an authorization code then get one
$authUrl = $provider->getAuthorizationUrl($options);
$_SESSION['oauth2state'] = $provider->getState();
header('Location: ' . $authUrl);
exit;
//Check given state against previously stored one to mitigate CSRF attack
} elseif (empty($_GET['state']) || ($_GET['state'] !== $_SESSION['oauth2state'])) {
unset($_SESSION['oauth2state']);
unset($_SESSION['provider']);
exit('Invalid state');
} else {
unset($_SESSION['provider']);
//Try to get an access token (using the authorization code grant)
$token = $provider->getAccessToken(
'authorization_code',
[
'code' => $_GET['code']
]
);
//Use this to interact with an API on the users behalf
//Use this to get a new access token if the old one expires
echo 'Refresh Token: ', htmlspecialchars($token->getRefreshToken(), ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401);
}
@@ -0,0 +1,26 @@
<?php
/**
* Afrikaans PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
*/
$PHPMAILER_LANG['authenticate'] = 'SMTP-fout: kon nie geverifieer word nie.';
$PHPMAILER_LANG['connect_host'] = 'SMTP-fout: kon nie aan SMTP-verbind nie.';
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP-fout: data nie aanvaar nie.';
$PHPMAILER_LANG['empty_message'] = 'Boodskapliggaam leeg.';
$PHPMAILER_LANG['encoding'] = 'Onbekende kodering: ';
$PHPMAILER_LANG['execute'] = 'Kon nie uitvoer nie: ';
$PHPMAILER_LANG['file_access'] = 'Kon nie lêer oopmaak nie: ';
$PHPMAILER_LANG['file_open'] = 'Lêerfout: Kon nie lêer oopmaak nie: ';
$PHPMAILER_LANG['from_failed'] = 'Die volgende Van adres misluk: ';
$PHPMAILER_LANG['instantiate'] = 'Kon nie posfunksie instansieer nie.';
$PHPMAILER_LANG['invalid_address'] = 'Ongeldige adres: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer word nie ondersteun nie.';
$PHPMAILER_LANG['provide_address'] = 'U moet ten minste een ontvanger e-pos adres verskaf.';
$PHPMAILER_LANG['recipients_failed'] = 'SMTP-fout: Die volgende ontvangers het misluk: ';
$PHPMAILER_LANG['signing'] = 'Ondertekening Fout: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP-verbinding () misluk.';
$PHPMAILER_LANG['smtp_error'] = 'SMTP-bediener fout: ';
$PHPMAILER_LANG['variable_set'] = 'Kan nie veranderlike instel of herstel nie: ';
$PHPMAILER_LANG['extension_missing'] = 'Uitbreiding ontbreek: ';
@@ -0,0 +1,27 @@
<?php
/**
* Arabic PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author bahjat al mostafa <bahjat983@hotmail.com>
*/
$PHPMAILER_LANG['authenticate'] = 'خطأ SMTP : لا يمكن تأكيد الهوية.';
$PHPMAILER_LANG['connect_host'] = 'خطأ SMTP: لا يمكن الاتصال بالخادم SMTP.';
$PHPMAILER_LANG['data_not_accepted'] = 'خطأ SMTP: لم يتم قبول المعلومات .';
$PHPMAILER_LANG['empty_message'] = 'نص الرسالة فارغ';
$PHPMAILER_LANG['encoding'] = 'ترميز غير معروف: ';
$PHPMAILER_LANG['execute'] = 'لا يمكن تنفيذ : ';
$PHPMAILER_LANG['file_access'] = 'لا يمكن الوصول للملف: ';
$PHPMAILER_LANG['file_open'] = 'خطأ في الملف: لا يمكن فتحه: ';
$PHPMAILER_LANG['from_failed'] = 'خطأ على مستوى عنوان المرسل : ';
$PHPMAILER_LANG['instantiate'] = 'لا يمكن توفير خدمة البريد.';
$PHPMAILER_LANG['invalid_address'] = 'الإرسال غير ممكن لأن عنوان البريد الإلكتروني غير صالح: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' برنامج الإرسال غير مدعوم.';
$PHPMAILER_LANG['provide_address'] = 'يجب توفير عنوان البريد الإلكتروني لمستلم واحد على الأقل.';
$PHPMAILER_LANG['recipients_failed'] = 'خطأ SMTP: الأخطاء التالية فشل في الارسال لكل من : ';
$PHPMAILER_LANG['signing'] = 'خطأ في التوقيع: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() غير ممكن.';
$PHPMAILER_LANG['smtp_error'] = 'خطأ على مستوى الخادم SMTP: ';
$PHPMAILER_LANG['variable_set'] = 'لا يمكن تعيين أو إعادة تعيين متغير: ';
$PHPMAILER_LANG['extension_missing'] = 'الإضافة غير موجودة: ';
@@ -0,0 +1,35 @@
<?php
/**
* Assamese PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author Manish Sarkar <manish.n.manish@gmail.com>
*/
$PHPMAILER_LANG['authenticate'] = 'SMTP ত্ৰুটি: প্ৰমাণীকৰণ কৰিব নোৱাৰি';
$PHPMAILER_LANG['buggy_php'] = 'আপোনাৰ PHP সংস্কৰণ এটা বাগৰ দ্বাৰা প্ৰভাৱিত হয় যাৰ ফলত নষ্ট বাৰ্তা হব পাৰে । ইয়াক সমাধান কৰিবলে, প্ৰেৰণ কৰিবলে SMTP ব্যৱহাৰ কৰক, আপোনাৰ php.ini ত mail.add_x_header বিকল্প নিষ্ক্ৰিয় কৰক, MacOS বা Linux লৈ সলনি কৰক, বা আপোনাৰ PHP সংস্কৰণ 7.0.17+ বা 7.1.3+ লৈ সলনি কৰক ।';
$PHPMAILER_LANG['connect_host'] = 'SMTP ত্ৰুটি: SMTP চাৰ্ভাৰৰ সৈতে সংযোগ কৰিবলে অক্ষম';
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP ত্ৰুটি: তথ্য গ্ৰহণ কৰা হোৱা নাই';
$PHPMAILER_LANG['empty_message'] = 'বাৰ্তাৰ মূখ্য অংশ খালী।';
$PHPMAILER_LANG['encoding'] = 'অজ্ঞাত এনকোডিং: ';
$PHPMAILER_LANG['execute'] = 'এক্সিকিউট কৰিব নোৱাৰি: ';
$PHPMAILER_LANG['extension_missing'] = 'সম্প্ৰসাৰণ নোহোৱা হৈছে: ';
$PHPMAILER_LANG['file_access'] = 'ফাইল অভিগম কৰিবলে অক্ষম: ';
$PHPMAILER_LANG['file_open'] = 'ফাইল ত্ৰুটি: ফাইল খোলিবলৈ অক্ষম: ';
$PHPMAILER_LANG['from_failed'] = 'নিম্নলিখিত প্ৰেৰকৰ ঠিকনা(সমূহ) ব্যৰ্থ: ';
$PHPMAILER_LANG['instantiate'] = 'মেইল ফাংচনৰ এটা উদাহৰণ সৃষ্টি কৰিবলে অক্ষম';
$PHPMAILER_LANG['invalid_address'] = 'প্ৰেৰণ কৰিব নোৱাৰি: অবৈধ ইমেইল ঠিকনা: ';
$PHPMAILER_LANG['invalid_header'] = 'অবৈধ হেডাৰৰ নাম বা মান';
$PHPMAILER_LANG['invalid_hostentry'] = 'অবৈধ হোষ্টেন্ট্ৰি: ';
$PHPMAILER_LANG['invalid_host'] = 'অবৈধ হস্ট:';
$PHPMAILER_LANG['mailer_not_supported'] = 'মেইলাৰ সমৰ্থিত নহয়।';
$PHPMAILER_LANG['provide_address'] = 'আপুনি অন্ততঃ এটা গন্তব্য ইমেইল ঠিকনা দিব লাগিব';
$PHPMAILER_LANG['recipients_failed'] = 'SMTP ত্ৰুটি: নিম্নলিখিত গন্তব্যস্থানসমূহ ব্যৰ্থ: ';
$PHPMAILER_LANG['signing'] = 'স্বাক্ষৰ কৰাত ব্যৰ্থ: ';
$PHPMAILER_LANG['smtp_code'] = 'SMTP কড: ';
$PHPMAILER_LANG['smtp_code_ex'] = 'অতিৰিক্ত SMTP তথ্য: ';
$PHPMAILER_LANG['smtp_detail'] = 'বিৱৰণ:';
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP সংযোগ() ব্যৰ্থ';
$PHPMAILER_LANG['smtp_error'] = 'SMTP চাৰ্ভাৰৰ ত্ৰুটি: ';
$PHPMAILER_LANG['variable_set'] = 'চলক নিৰ্ধাৰণ কৰিব পৰা নগল: ';
$PHPMAILER_LANG['extension_missing'] = 'অনুপস্থিত সম্প্ৰসাৰণ: ';
@@ -0,0 +1,27 @@
<?php
/**
* Azerbaijani PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author @mirjalal
*/
$PHPMAILER_LANG['authenticate'] = 'SMTP xətası: Giriş uğursuz oldu.';
$PHPMAILER_LANG['connect_host'] = 'SMTP xətası: SMTP serverinə qoşulma uğursuz oldu.';
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP xətası: Verilənlər qəbul edilməyib.';
$PHPMAILER_LANG['empty_message'] = 'Boş mesaj göndərilə bilməz.';
$PHPMAILER_LANG['encoding'] = 'Qeyri-müəyyən kodlaşdırma: ';
$PHPMAILER_LANG['execute'] = 'Əmr yerinə yetirilmədi: ';
$PHPMAILER_LANG['file_access'] = 'Fayla giriş yoxdur: ';
$PHPMAILER_LANG['file_open'] = 'Fayl xətası: Fayl açıla bilmədi: ';
$PHPMAILER_LANG['from_failed'] = 'Göstərilən poçtlara göndərmə uğursuz oldu: ';
$PHPMAILER_LANG['instantiate'] = 'Mail funksiyası işə salına bilmədi.';
$PHPMAILER_LANG['invalid_address'] = 'Düzgün olmayan e-mail adresi: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' - e-mail kitabxanası dəstəklənmir.';
$PHPMAILER_LANG['provide_address'] = 'Ən azı bir e-mail adresi daxil edilməlidir.';
$PHPMAILER_LANG['recipients_failed'] = 'SMTP xətası: Aşağıdakı ünvanlar üzrə alıcılara göndərmə uğursuzdur: ';
$PHPMAILER_LANG['signing'] = 'İmzalama xətası: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP serverinə qoşulma uğursuz oldu.';
$PHPMAILER_LANG['smtp_error'] = 'SMTP serveri xətası: ';
$PHPMAILER_LANG['variable_set'] = 'Dəyişənin quraşdırılması uğursuz oldu: ';
//$PHPMAILER_LANG['extension_missing'] = 'Extension missing: ';
@@ -0,0 +1,27 @@
<?php
/**
* Bosnian PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author Ermin Islamagić <ermin@islamagic.com>
*/
$PHPMAILER_LANG['authenticate'] = 'SMTP Greška: Neuspjela prijava.';
$PHPMAILER_LANG['connect_host'] = 'SMTP Greška: Nije moguće spojiti se sa SMTP serverom.';
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP Greška: Podatci nisu prihvaćeni.';
$PHPMAILER_LANG['empty_message'] = 'Sadržaj poruke je prazan.';
$PHPMAILER_LANG['encoding'] = 'Nepoznata kriptografija: ';
$PHPMAILER_LANG['execute'] = 'Nije moguće izvršiti naredbu: ';
$PHPMAILER_LANG['file_access'] = 'Nije moguće pristupiti datoteci: ';
$PHPMAILER_LANG['file_open'] = 'Nije moguće otvoriti datoteku: ';
$PHPMAILER_LANG['from_failed'] = 'SMTP Greška: Slanje sa navedenih e-mail adresa nije uspjelo: ';
$PHPMAILER_LANG['recipients_failed'] = 'SMTP Greška: Slanje na navedene e-mail adrese nije uspjelo: ';
$PHPMAILER_LANG['instantiate'] = 'Ne mogu pokrenuti mail funkcionalnost.';
$PHPMAILER_LANG['invalid_address'] = 'E-mail nije poslan. Neispravna e-mail adresa: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer nije podržan.';
$PHPMAILER_LANG['provide_address'] = 'Definišite barem jednu adresu primaoca.';
$PHPMAILER_LANG['signing'] = 'Greška prilikom prijave: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'Spajanje na SMTP server nije uspjelo.';
$PHPMAILER_LANG['smtp_error'] = 'SMTP greška: ';
$PHPMAILER_LANG['variable_set'] = 'Nije moguće postaviti varijablu ili je vratiti nazad: ';
$PHPMAILER_LANG['extension_missing'] = 'Nedostaje ekstenzija: ';
@@ -0,0 +1,27 @@
<?php
/**
* Belarusian PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author Aleksander Maksymiuk <info@setpro.pl>
*/
$PHPMAILER_LANG['authenticate'] = 'Памылка SMTP: памылка ідэнтыфікацыі.';
$PHPMAILER_LANG['connect_host'] = 'Памылка SMTP: нельга ўстанавіць сувязь з SMTP-серверам.';
$PHPMAILER_LANG['data_not_accepted'] = 'Памылка SMTP: звесткі непрынятыя.';
$PHPMAILER_LANG['empty_message'] = 'Пустое паведамленне.';
$PHPMAILER_LANG['encoding'] = 'Невядомая кадыроўка тэксту: ';
$PHPMAILER_LANG['execute'] = 'Нельга выканаць каманду: ';
$PHPMAILER_LANG['file_access'] = 'Няма доступу да файла: ';
$PHPMAILER_LANG['file_open'] = 'Нельга адкрыць файл: ';
$PHPMAILER_LANG['from_failed'] = 'Няправільны адрас адпраўніка: ';
$PHPMAILER_LANG['instantiate'] = 'Нельга прымяніць функцыю mail().';
$PHPMAILER_LANG['invalid_address'] = 'Нельга даслаць паведамленне, няправільны email атрымальніка: ';
$PHPMAILER_LANG['provide_address'] = 'Запоўніце, калі ласка, правільны email атрымальніка.';
$PHPMAILER_LANG['mailer_not_supported'] = ' - паштовы сервер не падтрымліваецца.';
$PHPMAILER_LANG['recipients_failed'] = 'Памылка SMTP: няправільныя атрымальнікі: ';
$PHPMAILER_LANG['signing'] = 'Памылка подпісу паведамлення: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'Памылка сувязі з SMTP-серверам.';
$PHPMAILER_LANG['smtp_error'] = 'Памылка SMTP: ';
$PHPMAILER_LANG['variable_set'] = 'Нельга ўстанавіць або перамяніць значэнне пераменнай: ';
//$PHPMAILER_LANG['extension_missing'] = 'Extension missing: ';
@@ -0,0 +1,27 @@
<?php
/**
* Bulgarian PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author Mikhail Kyosev <mialygk@gmail.com>
*/
$PHPMAILER_LANG['authenticate'] = 'SMTP грешка: Не може да се удостовери пред сървъра.';
$PHPMAILER_LANG['connect_host'] = 'SMTP грешка: Не може да се свърже с SMTP хоста.';
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP грешка: данните не са приети.';
$PHPMAILER_LANG['empty_message'] = 'Съдържанието на съобщението е празно';
$PHPMAILER_LANG['encoding'] = 'Неизвестно кодиране: ';
$PHPMAILER_LANG['execute'] = 'Не може да се изпълни: ';
$PHPMAILER_LANG['file_access'] = 'Няма достъп до файл: ';
$PHPMAILER_LANG['file_open'] = 'Файлова грешка: Не може да се отвори файл: ';
$PHPMAILER_LANG['from_failed'] = 'Следните адреси за подател са невалидни: ';
$PHPMAILER_LANG['instantiate'] = 'Не може да се инстанцира функцията mail.';
$PHPMAILER_LANG['invalid_address'] = 'Невалиден адрес: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' - пощенски сървър не се поддържа.';
$PHPMAILER_LANG['provide_address'] = 'Трябва да предоставите поне един email адрес за получател.';
$PHPMAILER_LANG['recipients_failed'] = 'SMTP грешка: Следните адреси за Получател са невалидни: ';
$PHPMAILER_LANG['signing'] = 'Грешка при подписване: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP провален connect().';
$PHPMAILER_LANG['smtp_error'] = 'SMTP сървърна грешка: ';
$PHPMAILER_LANG['variable_set'] = 'Не може да се установи или възстанови променлива: ';
$PHPMAILER_LANG['extension_missing'] = 'Липсва разширение: ';
@@ -0,0 +1,35 @@
<?php
/**
* Bengali PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author Manish Sarkar <manish.n.manish@gmail.com>
*/
$PHPMAILER_LANG['authenticate'] = 'SMTP ত্রুটি: প্রমাণীকরণ করতে অক্ষম৷';
$PHPMAILER_LANG['buggy_php'] = 'আপনার PHP সংস্করণ একটি বাগ দ্বারা প্রভাবিত হয় যার ফলে দূষিত বার্তা হতে পারে। এটি ঠিক করতে, পাঠাতে SMTP ব্যবহার করুন, আপনার php.ini এ mail.add_x_header বিকল্পটি নিষ্ক্রিয় করুন, MacOS বা Linux-এ স্যুইচ করুন, অথবা আপনার PHP সংস্করণকে 7.0.17+ বা 7.1.3+ এ পরিবর্তন করুন।';
$PHPMAILER_LANG['connect_host'] = 'SMTP ত্রুটি: SMTP সার্ভারের সাথে সংযোগ করতে অক্ষম৷';
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP ত্রুটি: ডেটা গ্রহণ করা হয়নি৷';
$PHPMAILER_LANG['empty_message'] = 'বার্তার অংশটি খালি।';
$PHPMAILER_LANG['encoding'] = 'অজানা এনকোডিং: ';
$PHPMAILER_LANG['execute'] = 'নির্বাহ করতে অক্ষম: ';
$PHPMAILER_LANG['extension_missing'] = 'এক্সটেনশন অনুপস্থিত:';
$PHPMAILER_LANG['file_access'] = 'ফাইল অ্যাক্সেস করতে অক্ষম: ';
$PHPMAILER_LANG['file_open'] = 'ফাইল ত্রুটি: ফাইল খুলতে অক্ষম: ';
$PHPMAILER_LANG['from_failed'] = 'নিম্নলিখিত প্রেরকের ঠিকানা(গুলি) ব্যর্থ হয়েছে: ';
$PHPMAILER_LANG['instantiate'] = 'মেল ফাংশনের একটি উদাহরণ তৈরি করতে অক্ষম৷';
$PHPMAILER_LANG['invalid_address'] = 'পাঠাতে অক্ষম: অবৈধ ইমেল ঠিকানা: ';
$PHPMAILER_LANG['invalid_header'] = 'অবৈধ হেডার নাম বা মান';
$PHPMAILER_LANG['invalid_hostentry'] = 'অবৈধ হোস্টেন্ট্রি: ';
$PHPMAILER_LANG['invalid_host'] = 'অবৈধ হোস্ট:';
$PHPMAILER_LANG['mailer_not_supported'] = 'মেইলার সমর্থিত নয়।';
$PHPMAILER_LANG['provide_address'] = 'আপনাকে অবশ্যই অন্তত একটি গন্তব্য ইমেল ঠিকানা প্রদান করতে হবে৷';
$PHPMAILER_LANG['recipients_failed'] = 'SMTP ত্রুটি: নিম্নলিখিত গন্তব্যগুলি ব্যর্থ হয়েছে: ';
$PHPMAILER_LANG['signing'] = 'স্বাক্ষর করতে ব্যর্থ হয়েছে: ';
$PHPMAILER_LANG['smtp_code'] = 'SMTP কোড: ';
$PHPMAILER_LANG['smtp_code_ex'] = 'অতিরিক্ত SMTP তথ্য:';
$PHPMAILER_LANG['smtp_detail'] = 'বর্ণনা: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP সংযোগ() ব্যর্থ হয়েছে৷';
$PHPMAILER_LANG['smtp_error'] = 'SMTP সার্ভার ত্রুটি: ';
$PHPMAILER_LANG['variable_set'] = 'পরিবর্তনশীল সেট করা যায়নি: ';
$PHPMAILER_LANG['extension_missing'] = 'অনুপস্থিত এক্সটেনশন: ';
@@ -0,0 +1,27 @@
<?php
/**
* Catalan PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author Ivan <web AT microstudi DOT com>
*/
$PHPMAILER_LANG['authenticate'] = 'Error SMTP: No sha pogut autenticar.';
$PHPMAILER_LANG['connect_host'] = 'Error SMTP: No es pot connectar al servidor SMTP.';
$PHPMAILER_LANG['data_not_accepted'] = 'Error SMTP: Dades no acceptades.';
$PHPMAILER_LANG['empty_message'] = 'El cos del missatge està buit.';
$PHPMAILER_LANG['encoding'] = 'Codificació desconeguda: ';
$PHPMAILER_LANG['execute'] = 'No es pot executar: ';
$PHPMAILER_LANG['file_access'] = 'No es pot accedir a larxiu: ';
$PHPMAILER_LANG['file_open'] = 'Error dArxiu: No es pot obrir larxiu: ';
$PHPMAILER_LANG['from_failed'] = 'La(s) següent(s) adreces de remitent han fallat: ';
$PHPMAILER_LANG['instantiate'] = 'No sha pogut crear una instància de la funció Mail.';
$PHPMAILER_LANG['invalid_address'] = 'Adreça demail invalida: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer no està suportat';
$PHPMAILER_LANG['provide_address'] = 'Sha de proveir almenys una adreça demail com a destinatari.';
$PHPMAILER_LANG['recipients_failed'] = 'Error SMTP: Els següents destinataris han fallat: ';
$PHPMAILER_LANG['signing'] = 'Error al signar: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'Ha fallat el SMTP Connect().';
$PHPMAILER_LANG['smtp_error'] = 'Error del servidor SMTP: ';
$PHPMAILER_LANG['variable_set'] = 'No sha pogut establir o restablir la variable: ';
//$PHPMAILER_LANG['extension_missing'] = 'Extension missing: ';
@@ -0,0 +1,28 @@
<?php
/**
* Czech PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
*/
$PHPMAILER_LANG['authenticate'] = 'Chyba SMTP: Autentizace selhala.';
$PHPMAILER_LANG['connect_host'] = 'Chyba SMTP: Nelze navázat spojení se SMTP serverem.';
$PHPMAILER_LANG['data_not_accepted'] = 'Chyba SMTP: Data nebyla přijata.';
$PHPMAILER_LANG['empty_message'] = 'Prázdné tělo zprávy';
$PHPMAILER_LANG['encoding'] = 'Neznámé kódování: ';
$PHPMAILER_LANG['execute'] = 'Nelze provést: ';
$PHPMAILER_LANG['file_access'] = 'Nelze získat přístup k souboru: ';
$PHPMAILER_LANG['file_open'] = 'Chyba souboru: Nelze otevřít soubor pro čtení: ';
$PHPMAILER_LANG['from_failed'] = 'Následující adresa odesílatele je nesprávná: ';
$PHPMAILER_LANG['instantiate'] = 'Nelze vytvořit instanci emailové funkce.';
$PHPMAILER_LANG['invalid_address'] = 'Neplatná adresa: ';
$PHPMAILER_LANG['invalid_hostentry'] = 'Záznam hostitele je nesprávný: ';
$PHPMAILER_LANG['invalid_host'] = 'Hostitel je nesprávný: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer není podporován.';
$PHPMAILER_LANG['provide_address'] = 'Musíte zadat alespoň jednu emailovou adresu příjemce.';
$PHPMAILER_LANG['recipients_failed'] = 'Chyba SMTP: Následující adresy příjemců nejsou správně: ';
$PHPMAILER_LANG['signing'] = 'Chyba přihlašování: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() selhal.';
$PHPMAILER_LANG['smtp_error'] = 'Chyba SMTP serveru: ';
$PHPMAILER_LANG['variable_set'] = 'Nelze nastavit nebo změnit proměnnou: ';
$PHPMAILER_LANG['extension_missing'] = 'Chybí rozšíření: ';
@@ -0,0 +1,39 @@
<?php
/**
* Danish PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author John Sebastian <jms@iwb.dk>
* Rewrite and extension of the work by Mikael Stokkebro <info@stokkebro.dk>
*
*/
$PHPMAILER_LANG['authenticate'] = 'SMTP fejl: Login mislykkedes.';
$PHPMAILER_LANG['buggy_php'] = 'Din version af PHP er berørt af en fejl, som gør at dine beskeder muligvis vises forkert. For at rette dette kan du skifte til SMTP, slå mail.add_x_header headeren i din php.ini fil fra, skifte til MacOS eller Linux eller opgradere din version af PHP til 7.0.17+ eller 7.1.3+.';
$PHPMAILER_LANG['connect_host'] = 'SMTP fejl: Forbindelse til SMTP serveren kunne ikke oprettes.';
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP fejl: Data blev ikke accepteret.';
$PHPMAILER_LANG['empty_message'] = 'Meddelelsen er uden indhold';
$PHPMAILER_LANG['encoding'] = 'Ukendt encode-format: ';
$PHPMAILER_LANG['execute'] = 'Kunne ikke afvikle: ';
$PHPMAILER_LANG['extension_missing'] = 'Udvidelse mangler: ';
$PHPMAILER_LANG['file_access'] = 'Kunne ikke tilgå filen: ';
$PHPMAILER_LANG['file_open'] = 'Fil fejl: Kunne ikke åbne filen: ';
$PHPMAILER_LANG['from_failed'] = 'Følgende afsenderadresse er forkert: ';
$PHPMAILER_LANG['instantiate'] = 'Email funktionen kunne ikke initialiseres.';
$PHPMAILER_LANG['invalid_address'] = 'Udgyldig adresse: ';
$PHPMAILER_LANG['invalid_header'] = 'Ugyldig header navn eller værdi';
$PHPMAILER_LANG['invalid_hostentry'] = 'Ugyldig hostentry: ';
$PHPMAILER_LANG['invalid_host'] = 'Ugyldig vært: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer understøttes ikke.';
$PHPMAILER_LANG['provide_address'] = 'Indtast mindst en modtagers email adresse.';
$PHPMAILER_LANG['recipients_failed'] = 'SMTP fejl: Følgende modtagere fejlede: ';
$PHPMAILER_LANG['signing'] = 'Signeringsfejl: ';
$PHPMAILER_LANG['smtp_code'] = 'SMTP kode: ';
$PHPMAILER_LANG['smtp_code_ex'] = 'Yderligere SMTP info: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() fejlede.';
$PHPMAILER_LANG['smtp_detail'] = 'Detalje: ';
$PHPMAILER_LANG['smtp_error'] = 'SMTP server fejl: ';
$PHPMAILER_LANG['variable_set'] = 'Kunne ikke definere eller nulstille variablen: ';
$PHPMAILER_LANG['no_smtputf8'] = 'Serveren understøtter ikke SMTPUTF8 som påkrævet for at sende til Unicode adresser';
$PHPMAILER_LANG['imap_recommended'] = 'Brug af forenklet adresseparser anbefales ikke. Installer PHP IMAP udvidelsen for fuld RFC822 parsing.';
$PHPMAILER_LANG['deprecated_argument'] = 'Udfaset argument: ';
@@ -0,0 +1,28 @@
<?php
/**
* German PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
*/
$PHPMAILER_LANG['authenticate'] = 'SMTP-Fehler: Authentifizierung fehlgeschlagen.';
$PHPMAILER_LANG['connect_host'] = 'SMTP-Fehler: Konnte keine Verbindung zum SMTP-Host herstellen.';
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP-Fehler: Daten werden nicht akzeptiert.';
$PHPMAILER_LANG['empty_message'] = 'E-Mail-Inhalt ist leer.';
$PHPMAILER_LANG['encoding'] = 'Unbekannte Kodierung: ';
$PHPMAILER_LANG['execute'] = 'Konnte folgenden Befehl nicht ausführen: ';
$PHPMAILER_LANG['file_access'] = 'Zugriff auf folgende Datei fehlgeschlagen: ';
$PHPMAILER_LANG['file_open'] = 'Dateifehler: Konnte folgende Datei nicht öffnen: ';
$PHPMAILER_LANG['from_failed'] = 'Die folgende Absenderadresse ist nicht korrekt: ';
$PHPMAILER_LANG['instantiate'] = 'Mail-Funktion konnte nicht initialisiert werden.';
$PHPMAILER_LANG['invalid_address'] = 'Die Adresse ist ungültig: ';
$PHPMAILER_LANG['invalid_hostentry'] = 'Ungültiger Hosteintrag: ';
$PHPMAILER_LANG['invalid_host'] = 'Ungültiger Host: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer wird nicht unterstützt.';
$PHPMAILER_LANG['provide_address'] = 'Bitte geben Sie mindestens eine Empfängeradresse an.';
$PHPMAILER_LANG['recipients_failed'] = 'SMTP-Fehler: Die folgenden Empfänger sind nicht korrekt: ';
$PHPMAILER_LANG['signing'] = 'Fehler beim Signieren: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'Verbindung zum SMTP-Server fehlgeschlagen.';
$PHPMAILER_LANG['smtp_error'] = 'Fehler vom SMTP-Server: ';
$PHPMAILER_LANG['variable_set'] = 'Kann Variable nicht setzen oder zurücksetzen: ';
$PHPMAILER_LANG['extension_missing'] = 'Fehlende Erweiterung: ';
@@ -0,0 +1,33 @@
<?php
/**
* Greek PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
*/
$PHPMAILER_LANG['authenticate'] = 'Σφάλμα SMTP: Αδυναμία πιστοποίησης.';
$PHPMAILER_LANG['buggy_php'] = 'Η έκδοση PHP που χρησιμοποιείτε παρουσιάζει σφάλμα που μπορεί να έχει ως αποτέλεσμα κατεστραμένα μηνύματα. Για να το διορθώσετε, αλλάξτε τον τρόπο αποστολής σε SMTP, απενεργοποιήστε την επιλογή mail.add_x_header στο αρχείο php.ini, αλλάξτε λειτουργικό σε MacOS ή Linux ή αναβαθμίστε την PHP σε έκδοση 7.0.17+ ή 7.1.3+.';
$PHPMAILER_LANG['connect_host'] = 'Σφάλμα SMTP: Αδυναμία σύνδεσης με τον φιλοξενητή SMTP.';
$PHPMAILER_LANG['data_not_accepted'] = 'Σφάλμα SMTP: Μη αποδεκτά δεδομένα.';
$PHPMAILER_LANG['empty_message'] = 'Η ηλεκτρονική επιστολή δεν έχει περιεχόμενο.';
$PHPMAILER_LANG['encoding'] = 'Άγνωστη μορφή κωδικοποίησης: ';
$PHPMAILER_LANG['execute'] = 'Αδυναμία εκτέλεσης: ';
$PHPMAILER_LANG['extension_missing'] = 'Απουσία επέκτασης: ';
$PHPMAILER_LANG['file_access'] = 'Αδυναμία πρόσβασης στο αρχείο: ';
$PHPMAILER_LANG['file_open'] = 'Σφάλμα Αρχείου: Αδυναμία ανοίγματος αρχείου: ';
$PHPMAILER_LANG['from_failed'] = 'Η ακόλουθη διεύθυνση αποστολέα δεν είναι σωστή: ';
$PHPMAILER_LANG['instantiate'] = 'Αδυναμία εκκίνησης συνάρτησης Mail.';
$PHPMAILER_LANG['invalid_address'] = 'Μη έγκυρη διεύθυνση: ';
$PHPMAILER_LANG['invalid_header'] = 'Μη έγκυρο όνομα κεφαλίδας ή τιμή';
$PHPMAILER_LANG['invalid_hostentry'] = 'Μη έγκυρη εισαγωγή φιλοξενητή: ';
$PHPMAILER_LANG['invalid_host'] = 'Μη έγκυρος φιλοξενητής: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer δεν υποστηρίζεται.';
$PHPMAILER_LANG['provide_address'] = 'Δώστε τουλάχιστον μια ηλεκτρονική διεύθυνση παραλήπτη.';
$PHPMAILER_LANG['recipients_failed'] = 'Σφάλμα SMTP: Οι παρακάτω διευθύνσεις παραλήπτη δεν είναι έγκυρες: ';
$PHPMAILER_LANG['signing'] = 'Σφάλμα υπογραφής: ';
$PHPMAILER_LANG['smtp_code'] = 'Κώδικάς SMTP: ';
$PHPMAILER_LANG['smtp_code_ex'] = 'Πρόσθετες πληροφορίες SMTP: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'Αποτυχία σύνδεσης SMTP.';
$PHPMAILER_LANG['smtp_detail'] = 'Λεπτομέρεια: ';
$PHPMAILER_LANG['smtp_error'] = 'Σφάλμα με τον διακομιστή SMTP: ';
$PHPMAILER_LANG['variable_set'] = 'Αδυναμία ορισμού ή επαναφοράς μεταβλητής: ';
@@ -0,0 +1,37 @@
<?php
/**
* Esperanto PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author Robin van der Vliet <info@robinvandervliet.com>
*/
$PHPMAILER_LANG['authenticate'] = 'SMTP-eraro: Ne eblis aŭtentigi.';
$PHPMAILER_LANG['buggy_php'] = 'Via versio de PHP estas trafita de cimo, kiu povas kaŭzi difektitajn mesaĝojn. Por ripari tion, ŝanĝu al sendado per SMTP, malŝaltu la opcion mail.add_x_header en via php.ini, ŝanĝu al MacOS aŭ Linux, aŭ ĝisdatigu vian PHP al versio 7.0.17+ aŭ 7.1.3+.';
$PHPMAILER_LANG['connect_host'] = 'SMTP-eraro: Ne eblis konektiĝi al la SMTP-gastiganto.';
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP-eraro: Datumoj ne akceptitaj.';
$PHPMAILER_LANG['empty_message'] = 'Mesaĝokorpo malplena';
$PHPMAILER_LANG['encoding'] = 'Nekonata kodoprezento: ';
$PHPMAILER_LANG['execute'] = 'Ne eblis plenumi: ';
$PHPMAILER_LANG['extension_missing'] = 'Kromprogramo mankas: ';
$PHPMAILER_LANG['file_access'] = 'Ne eblis aliri la dosieron: ';
$PHPMAILER_LANG['file_open'] = 'Dosiera eraro: Ne eblis malfermi la dosieron: ';
$PHPMAILER_LANG['from_failed'] = 'La sekva(j) sendinto(j) malsukcesis: ';
$PHPMAILER_LANG['instantiate'] = 'Ne eblis funkciigi la retpoŝtan funkcion.';
$PHPMAILER_LANG['invalid_address'] = 'Nevalida adreso: ';
$PHPMAILER_LANG['invalid_header'] = 'Nevalida kaplinia nomo aŭ valoro';
$PHPMAILER_LANG['invalid_hostentry'] = 'Nevalida enigo de gastiganto: ';
$PHPMAILER_LANG['invalid_host'] = 'Nevalida gastiganto: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' retpoŝtilo ne estas subtenata.';
$PHPMAILER_LANG['provide_address'] = 'Vi devas provizi almenaŭ unu retpoŝtadreson de ricevonto.';
$PHPMAILER_LANG['recipients_failed'] = 'SMTP-eraro: La sekva(j) ricevonto(j) malsukcesis: ';
$PHPMAILER_LANG['signing'] = 'Subskriba eraro: ';
$PHPMAILER_LANG['smtp_code'] = 'SMTP-kodo: ';
$PHPMAILER_LANG['smtp_code_ex'] = 'Pliaj SMTP-informoj: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'La SMTP-konektiĝo malsukcesis.';
$PHPMAILER_LANG['smtp_detail'] = 'Informoj: ';
$PHPMAILER_LANG['smtp_error'] = 'Eraro de SMTP-servilo: ';
$PHPMAILER_LANG['variable_set'] = 'Ne eblas agordi aŭ reagordi la variablon: ';
$PHPMAILER_LANG['no_smtputf8'] = 'La servilo ne subtenas SMTPUTF8, kiu estas bezonata por sendi al Unicode-adresoj.';
$PHPMAILER_LANG['imap_recommended'] = 'Uzado de la simpligita adresanalizilo ne estas rekomendita. Instalu la IMAP-kromprogramon por PHP por plena RFC822-analizado.';
$PHPMAILER_LANG['deprecated_argument'] = 'Malrekomendita argumento: ';
@@ -0,0 +1,38 @@
<?php
/**
* Spanish PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author Matt Sturdy <matt.sturdy@gmail.com>
* @author Crystopher Glodzienski Cardoso <crystopher.glodzienski@gmail.com>
* @author Daniel Cruz <danicruz0415@gmail.com>
*/
$PHPMAILER_LANG['authenticate'] = 'Error SMTP: Imposible autentificar.';
$PHPMAILER_LANG['buggy_php'] = 'Tu versión de PHP ha sido afectada por un bug que puede resultar en mensajes corruptos. Para arreglarlo, cambia a enviar usando SMTP, deshabilita la opción mail.add_x_header en tu php.ini, cambia a MacOS o Linux, o actualiza tu PHP a la versión 7.0.17+ o 7.1.3+.';
$PHPMAILER_LANG['connect_host'] = 'Error SMTP: Imposible conectar al servidor SMTP.';
$PHPMAILER_LANG['data_not_accepted'] = 'Error SMTP: Datos no aceptados.';
$PHPMAILER_LANG['empty_message'] = 'El cuerpo del mensaje está vacío.';
$PHPMAILER_LANG['encoding'] = 'Codificación desconocida: ';
$PHPMAILER_LANG['execute'] = 'Imposible ejecutar: ';
$PHPMAILER_LANG['extension_missing'] = 'Extensión faltante: ';
$PHPMAILER_LANG['file_access'] = 'Imposible acceder al archivo: ';
$PHPMAILER_LANG['file_open'] = 'Error de Archivo: Imposible abrir el archivo: ';
$PHPMAILER_LANG['from_failed'] = 'La siguiente dirección de remitente falló: ';
$PHPMAILER_LANG['instantiate'] = 'Imposible crear una instancia de la función Mail.';
$PHPMAILER_LANG['invalid_address'] = 'Imposible enviar: dirección de email inválido: ';
$PHPMAILER_LANG['invalid_header'] = 'Nombre o valor de encabezado no válido';
$PHPMAILER_LANG['invalid_hostentry'] = 'Hostentry inválido: ';
$PHPMAILER_LANG['invalid_host'] = 'Host inválido: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer no está soportado.';
$PHPMAILER_LANG['provide_address'] = 'Debe proporcionar al menos una dirección de email de destino.';
$PHPMAILER_LANG['recipients_failed'] = 'Error SMTP: Los siguientes destinos fallaron: ';
$PHPMAILER_LANG['signing'] = 'Error al firmar: ';
$PHPMAILER_LANG['smtp_code'] = 'Código del servidor SMTP: ';
$PHPMAILER_LANG['smtp_code_ex'] = 'Información adicional del servidor SMTP: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() falló.';
$PHPMAILER_LANG['smtp_detail'] = 'Detalle: ';
$PHPMAILER_LANG['smtp_error'] = 'Error del servidor SMTP: ';
$PHPMAILER_LANG['variable_set'] = 'No se pudo configurar la variable: ';
$PHPMAILER_LANG['imap_recommended'] = 'No se recomienda usar el analizador de direcciones simplificado. Instala la extensión IMAP de PHP para un análisis RFC822 más completo.';
$PHPMAILER_LANG['deprecated_argument'] = 'Argumento obsoleto: ';
@@ -0,0 +1,28 @@
<?php
/**
* Estonian PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author Indrek Päri
* @author Elan Ruusamäe <glen@delfi.ee>
*/
$PHPMAILER_LANG['authenticate'] = 'SMTP Viga: Autoriseerimise viga.';
$PHPMAILER_LANG['connect_host'] = 'SMTP Viga: Ei õnnestunud luua ühendust SMTP serveriga.';
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP Viga: Vigased andmed.';
$PHPMAILER_LANG['empty_message'] = 'Tühi kirja sisu';
$PHPMAILER_LANG["encoding"] = 'Tundmatu kodeering: ';
$PHPMAILER_LANG['execute'] = 'Tegevus ebaõnnestus: ';
$PHPMAILER_LANG['file_access'] = 'Pole piisavalt õiguseid järgneva faili avamiseks: ';
$PHPMAILER_LANG['file_open'] = 'Faili Viga: Faili avamine ebaõnnestus: ';
$PHPMAILER_LANG['from_failed'] = 'Järgnev saatja e-posti aadress on vigane: ';
$PHPMAILER_LANG['instantiate'] = 'mail funktiooni käivitamine ebaõnnestus.';
$PHPMAILER_LANG['invalid_address'] = 'Saatmine peatatud, e-posti address vigane: ';
$PHPMAILER_LANG['provide_address'] = 'Te peate määrama vähemalt ühe saaja e-posti aadressi.';
$PHPMAILER_LANG['mailer_not_supported'] = ' maileri tugi puudub.';
$PHPMAILER_LANG['recipients_failed'] = 'SMTP Viga: Järgnevate saajate e-posti aadressid on vigased: ';
$PHPMAILER_LANG["signing"] = 'Viga allkirjastamisel: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() ebaõnnestus.';
$PHPMAILER_LANG['smtp_error'] = 'SMTP serveri viga: ';
$PHPMAILER_LANG['variable_set'] = 'Ei õnnestunud määrata või lähtestada muutujat: ';
$PHPMAILER_LANG['extension_missing'] = 'Nõutud laiendus on puudu: ';
@@ -0,0 +1,28 @@
<?php
/**
* Persian/Farsi PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author Ali Jazayeri <jaza.ali@gmail.com>
* @author Mohammad Hossein Mojtahedi <mhm5000@gmail.com>
*/
$PHPMAILER_LANG['authenticate'] = 'خطای SMTP: احراز هویت با شکست مواجه شد.';
$PHPMAILER_LANG['connect_host'] = 'خطای SMTP: اتصال به سرور SMTP برقرار نشد.';
$PHPMAILER_LANG['data_not_accepted'] = 'خطای SMTP: داده‌ها نا‌درست هستند.';
$PHPMAILER_LANG['empty_message'] = 'بخش متن پیام خالی است.';
$PHPMAILER_LANG['encoding'] = 'کد‌گذاری نا‌شناخته: ';
$PHPMAILER_LANG['execute'] = 'امکان اجرا وجود ندارد: ';
$PHPMAILER_LANG['file_access'] = 'امکان دسترسی به فایل وجود ندارد: ';
$PHPMAILER_LANG['file_open'] = 'خطای File: امکان بازکردن فایل وجود ندارد: ';
$PHPMAILER_LANG['from_failed'] = 'آدرس فرستنده اشتباه است: ';
$PHPMAILER_LANG['instantiate'] = 'امکان معرفی تابع ایمیل وجود ندارد.';
$PHPMAILER_LANG['invalid_address'] = 'آدرس ایمیل معتبر نیست: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer پشتیبانی نمی‌شود.';
$PHPMAILER_LANG['provide_address'] = 'باید حداقل یک آدرس گیرنده وارد کنید.';
$PHPMAILER_LANG['recipients_failed'] = 'خطای SMTP: ارسال به آدرس گیرنده با خطا مواجه شد: ';
$PHPMAILER_LANG['signing'] = 'خطا در امضا: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'خطا در اتصال به SMTP.';
$PHPMAILER_LANG['smtp_error'] = 'خطا در SMTP Server: ';
$PHPMAILER_LANG['variable_set'] = 'امکان ارسال یا ارسال مجدد متغیر‌ها وجود ندارد: ';
$PHPMAILER_LANG['extension_missing'] = 'افزونه موجود نیست: ';
@@ -0,0 +1,27 @@
<?php
/**
* Finnish PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author Jyry Kuukanen
*/
$PHPMAILER_LANG['authenticate'] = 'SMTP-virhe: käyttäjätunnistus epäonnistui.';
$PHPMAILER_LANG['connect_host'] = 'SMTP-virhe: yhteys palvelimeen ei onnistu.';
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP-virhe: data on virheellinen.';
//$PHPMAILER_LANG['empty_message'] = 'Message body empty';
$PHPMAILER_LANG['encoding'] = 'Tuntematon koodaustyyppi: ';
$PHPMAILER_LANG['execute'] = 'Suoritus epäonnistui: ';
$PHPMAILER_LANG['file_access'] = 'Seuraavaan tiedostoon ei ole oikeuksia: ';
$PHPMAILER_LANG['file_open'] = 'Tiedostovirhe: Ei voida avata tiedostoa: ';
$PHPMAILER_LANG['from_failed'] = 'Seuraava lähettäjän osoite on virheellinen: ';
$PHPMAILER_LANG['instantiate'] = 'mail-funktion luonti epäonnistui.';
//$PHPMAILER_LANG['invalid_address'] = 'Invalid address: ';
$PHPMAILER_LANG['mailer_not_supported'] = 'postivälitintyyppiä ei tueta.';
$PHPMAILER_LANG['provide_address'] = 'Aseta vähintään yksi vastaanottajan sähk&ouml;postiosoite.';
$PHPMAILER_LANG['recipients_failed'] = 'SMTP-virhe: seuraava vastaanottaja osoite on virheellinen.';
//$PHPMAILER_LANG['signing'] = 'Signing Error: ';
//$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.';
//$PHPMAILER_LANG['smtp_error'] = 'SMTP server error: ';
//$PHPMAILER_LANG['variable_set'] = 'Cannot set or reset variable: ';
//$PHPMAILER_LANG['extension_missing'] = 'Extension missing: ';
@@ -0,0 +1,27 @@
<?php
/**
* Faroese PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author Dávur Sørensen <http://www.profo-webdesign.dk>
*/
$PHPMAILER_LANG['authenticate'] = 'SMTP feilur: Kundi ikki góðkenna.';
$PHPMAILER_LANG['connect_host'] = 'SMTP feilur: Kundi ikki knýta samband við SMTP vert.';
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP feilur: Data ikki góðkent.';
//$PHPMAILER_LANG['empty_message'] = 'Message body empty';
$PHPMAILER_LANG['encoding'] = 'Ókend encoding: ';
$PHPMAILER_LANG['execute'] = 'Kundi ikki útføra: ';
$PHPMAILER_LANG['file_access'] = 'Kundi ikki tilganga fílu: ';
$PHPMAILER_LANG['file_open'] = 'Fílu feilur: Kundi ikki opna fílu: ';
$PHPMAILER_LANG['from_failed'] = 'fylgjandi Frá/From adressa miseydnaðist: ';
$PHPMAILER_LANG['instantiate'] = 'Kuni ikki instantiera mail funktión.';
//$PHPMAILER_LANG['invalid_address'] = 'Invalid address: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' er ikki supporterað.';
$PHPMAILER_LANG['provide_address'] = 'Tú skal uppgeva minst móttakara-emailadressu(r).';
$PHPMAILER_LANG['recipients_failed'] = 'SMTP Feilur: Fylgjandi móttakarar miseydnaðust: ';
//$PHPMAILER_LANG['signing'] = 'Signing Error: ';
//$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.';
//$PHPMAILER_LANG['smtp_error'] = 'SMTP server error: ';
//$PHPMAILER_LANG['variable_set'] = 'Cannot set or reset variable: ';
//$PHPMAILER_LANG['extension_missing'] = 'Extension missing: ';
@@ -0,0 +1,36 @@
<?php
/**
* French PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* Some French punctuation requires a thin non-breaking space (U+202F) character before it,
* for example before a colon or exclamation mark.
* There is one of these characters between these quotes: ""
*/
$PHPMAILER_LANG['authenticate'] = 'Erreur SMTP: échec de lauthentification.';
$PHPMAILER_LANG['buggy_php'] = 'Votre version de PHP est affectée par un bug qui peut entraîner des messages corrompus. Pour résoudre ce problème, passez à lenvoi par SMTP, désactivez loption mail.add_x_header dans le fichier php.ini, passez à MacOS ou Linux, ou passez PHP à la version 7.0.17+ ou 7.1.3+.';
$PHPMAILER_LANG['connect_host'] = 'Erreur SMTP: impossible de se connecter au serveur SMTP.';
$PHPMAILER_LANG['data_not_accepted'] = 'Erreur SMTP: données incorrectes.';
$PHPMAILER_LANG['empty_message'] = 'Corps du message vide.';
$PHPMAILER_LANG['encoding'] = 'Encodage inconnu: ';
$PHPMAILER_LANG['execute'] = 'Impossible de lancer lexécution: ';
$PHPMAILER_LANG['extension_missing'] = 'Extension manquante: ';
$PHPMAILER_LANG['file_access'] = 'Impossible daccéder au fichier: ';
$PHPMAILER_LANG['file_open'] = 'Ouverture du fichier impossible: ';
$PHPMAILER_LANG['from_failed'] = 'Ladresse dexpéditeur suivante a échoué : ';
$PHPMAILER_LANG['instantiate'] = 'Impossible dinstancier la fonction mail.';
$PHPMAILER_LANG['invalid_address'] = 'Adresse courriel non valide: ';
$PHPMAILER_LANG['invalid_header'] = 'Nom ou valeur de len-tête non valide';
$PHPMAILER_LANG['invalid_hostentry'] = 'Entrée dhôte non valide: ';
$PHPMAILER_LANG['invalid_host'] = 'Hôte non valide: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' client de messagerie non supporté.';
$PHPMAILER_LANG['provide_address'] = 'Vous devez fournir au moins une adresse de destinataire.';
$PHPMAILER_LANG['recipients_failed'] = 'Erreur SMTP:les destinataires suivants ont échoué : ';
$PHPMAILER_LANG['signing'] = 'Erreur de signature: ';
$PHPMAILER_LANG['smtp_code'] = 'Code SMTP: ';
$PHPMAILER_LANG['smtp_code_ex'] = 'Informations supplémentaires SMTP: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'La fonction SMTP connect() a échoué.';
$PHPMAILER_LANG['smtp_detail'] = 'Détails: ';
$PHPMAILER_LANG['smtp_error'] = 'Erreur du serveur SMTP: ';
$PHPMAILER_LANG['variable_set'] = 'Impossible dinitialiser ou de réinitialiser une variable: ';
@@ -0,0 +1,27 @@
<?php
/**
* Galician PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author by Donato Rouco <donatorouco@gmail.com>
*/
$PHPMAILER_LANG['authenticate'] = 'Erro SMTP: Non puido ser autentificado.';
$PHPMAILER_LANG['connect_host'] = 'Erro SMTP: Non puido conectar co servidor SMTP.';
$PHPMAILER_LANG['data_not_accepted'] = 'Erro SMTP: Datos non aceptados.';
$PHPMAILER_LANG['empty_message'] = 'Corpo da mensaxe vacía';
$PHPMAILER_LANG['encoding'] = 'Codificación descoñecida: ';
$PHPMAILER_LANG['execute'] = 'Non puido ser executado: ';
$PHPMAILER_LANG['file_access'] = 'Nob puido acceder ó arquivo: ';
$PHPMAILER_LANG['file_open'] = 'Erro de Arquivo: No puido abrir o arquivo: ';
$PHPMAILER_LANG['from_failed'] = 'A(s) seguinte(s) dirección(s) de remitente(s) deron erro: ';
$PHPMAILER_LANG['instantiate'] = 'Non puido crear unha instancia da función Mail.';
$PHPMAILER_LANG['invalid_address'] = 'Non puido envia-lo correo: dirección de email inválida: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer non está soportado.';
$PHPMAILER_LANG['provide_address'] = 'Debe engadir polo menos unha dirección de email coma destino.';
$PHPMAILER_LANG['recipients_failed'] = 'Erro SMTP: Os seguintes destinos fallaron: ';
$PHPMAILER_LANG['signing'] = 'Erro ó firmar: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() fallou.';
$PHPMAILER_LANG['smtp_error'] = 'Erro do servidor SMTP: ';
$PHPMAILER_LANG['variable_set'] = 'Non puidemos axustar ou reaxustar a variábel: ';
//$PHPMAILER_LANG['extension_missing'] = 'Extension missing: ';
@@ -0,0 +1,27 @@
<?php
/**
* Hebrew PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author Ronny Sherer <ronny@hoojima.com>
*/
$PHPMAILER_LANG['authenticate'] = 'שגיאת SMTP: פעולת האימות נכשלה.';
$PHPMAILER_LANG['connect_host'] = 'שגיאת SMTP: לא הצלחתי להתחבר לשרת SMTP.';
$PHPMAILER_LANG['data_not_accepted'] = 'שגיאת SMTP: מידע לא התקבל.';
$PHPMAILER_LANG['empty_message'] = 'גוף ההודעה ריק';
$PHPMAILER_LANG['invalid_address'] = 'כתובת שגויה: ';
$PHPMAILER_LANG['encoding'] = 'קידוד לא מוכר: ';
$PHPMAILER_LANG['execute'] = 'לא הצלחתי להפעיל את: ';
$PHPMAILER_LANG['file_access'] = 'לא ניתן לגשת לקובץ: ';
$PHPMAILER_LANG['file_open'] = 'שגיאת קובץ: לא ניתן לגשת לקובץ: ';
$PHPMAILER_LANG['from_failed'] = 'כתובות הנמענים הבאות נכשלו: ';
$PHPMAILER_LANG['instantiate'] = 'לא הצלחתי להפעיל את פונקציית המייל.';
$PHPMAILER_LANG['mailer_not_supported'] = ' אינה נתמכת.';
$PHPMAILER_LANG['provide_address'] = 'חובה לספק לפחות כתובת אחת של מקבל המייל.';
$PHPMAILER_LANG['recipients_failed'] = 'שגיאת SMTP: הנמענים הבאים נכשלו: ';
$PHPMAILER_LANG['signing'] = 'שגיאת חתימה: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.';
$PHPMAILER_LANG['smtp_error'] = 'שגיאת שרת SMTP: ';
$PHPMAILER_LANG['variable_set'] = 'לא ניתן לקבוע או לשנות את המשתנה: ';
//$PHPMAILER_LANG['extension_missing'] = 'Extension missing: ';
@@ -0,0 +1,35 @@
<?php
/**
* Hindi PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author Yash Karanke <mr.karanke@gmail.com>
* Rewrite and extension of the work by Jayanti Suthar <suthar.jayanti93@gmail.com>
*/
$PHPMAILER_LANG['authenticate'] = 'SMTP त्रुटि: प्रामाणिकता की जांच नहीं हो सका। ';
$PHPMAILER_LANG['buggy_php'] = 'PHP का आपका संस्करण एक बग से प्रभावित है जिसके परिणामस्वरूप संदेश दूषित हो सकते हैं. इसे ठीक करने हेतु, भेजने के लिए SMTP का उपयोग करे, अपने php.ini में mail.add_x_header विकल्प को अक्षम करें, MacOS या Linux पर जाए, या अपने PHP संस्करण को 7.0.17+ या 7.1.3+ बदले.';
$PHPMAILER_LANG['connect_host'] = 'SMTP त्रुटि: SMTP सर्वर से कनेक्ट नहीं हो सका। ';
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP त्रुटि: डेटा स्वीकार नहीं किया जाता है। ';
$PHPMAILER_LANG['empty_message'] = 'संदेश खाली है। ';
$PHPMAILER_LANG['encoding'] = 'अज्ञात एन्कोडिंग प्रकार। ';
$PHPMAILER_LANG['execute'] = 'आदेश को निष्पादित करने में विफल। ';
$PHPMAILER_LANG['extension_missing'] = 'एक्सटेन्षन गायब है: ';
$PHPMAILER_LANG['file_access'] = 'फ़ाइल उपलब्ध नहीं है। ';
$PHPMAILER_LANG['file_open'] = 'फ़ाइल त्रुटि: फाइल को खोला नहीं जा सका। ';
$PHPMAILER_LANG['from_failed'] = 'प्रेषक का पता गलत है। ';
$PHPMAILER_LANG['instantiate'] = 'मेल फ़ंक्शन कॉल नहीं कर सकता है।';
$PHPMAILER_LANG['invalid_address'] = 'पता गलत है। ';
$PHPMAILER_LANG['invalid_header'] = 'अमान्य हेडर नाम या मान';
$PHPMAILER_LANG['invalid_hostentry'] = 'अमान्य hostentry: ';
$PHPMAILER_LANG['invalid_host'] = 'अमान्य होस्ट: ';
$PHPMAILER_LANG['mailer_not_supported'] = 'मेल सर्वर के साथ काम नहीं करता है। ';
$PHPMAILER_LANG['provide_address'] = 'आपको कम से कम एक प्राप्तकर्ता का ई-मेल पता प्रदान करना होगा।';
$PHPMAILER_LANG['recipients_failed'] = 'SMTP त्रुटि: निम्न प्राप्तकर्ताओं को पते भेजने में विफल। ';
$PHPMAILER_LANG['signing'] = 'साइनअप त्रुटि: ';
$PHPMAILER_LANG['smtp_code'] = 'SMTP कोड: ';
$PHPMAILER_LANG['smtp_code_ex'] = 'अतिरिक्त SMTP जानकारी: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP का connect () फ़ंक्शन विफल हुआ। ';
$PHPMAILER_LANG['smtp_detail'] = 'विवरण: ';
$PHPMAILER_LANG['smtp_error'] = 'SMTP सर्वर त्रुटि। ';
$PHPMAILER_LANG['variable_set'] = 'चर को बना या संशोधित नहीं किया जा सकता। ';
@@ -0,0 +1,27 @@
<?php
/**
* Croatian PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author Hrvoj3e <hrvoj3e@gmail.com>
*/
$PHPMAILER_LANG['authenticate'] = 'SMTP Greška: Neuspjela autentikacija.';
$PHPMAILER_LANG['connect_host'] = 'SMTP Greška: Ne mogu se spojiti na SMTP poslužitelj.';
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP Greška: Podatci nisu prihvaćeni.';
$PHPMAILER_LANG['empty_message'] = 'Sadržaj poruke je prazan.';
$PHPMAILER_LANG['encoding'] = 'Nepoznati encoding: ';
$PHPMAILER_LANG['execute'] = 'Nije moguće izvršiti naredbu: ';
$PHPMAILER_LANG['file_access'] = 'Nije moguće pristupiti datoteci: ';
$PHPMAILER_LANG['file_open'] = 'Nije moguće otvoriti datoteku: ';
$PHPMAILER_LANG['from_failed'] = 'SMTP Greška: Slanje s navedenih e-mail adresa nije uspjelo: ';
$PHPMAILER_LANG['recipients_failed'] = 'SMTP Greška: Slanje na navedenih e-mail adresa nije uspjelo: ';
$PHPMAILER_LANG['instantiate'] = 'Ne mogu pokrenuti mail funkcionalnost.';
$PHPMAILER_LANG['invalid_address'] = 'E-mail nije poslan. Neispravna e-mail adresa: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer nije podržan.';
$PHPMAILER_LANG['provide_address'] = 'Definirajte barem jednu adresu primatelja.';
$PHPMAILER_LANG['signing'] = 'Greška prilikom prijave: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'Spajanje na SMTP poslužitelj nije uspjelo.';
$PHPMAILER_LANG['smtp_error'] = 'Greška SMTP poslužitelja: ';
$PHPMAILER_LANG['variable_set'] = 'Ne mogu postaviti varijablu niti ju vratiti nazad: ';
$PHPMAILER_LANG['extension_missing'] = 'Nedostaje proširenje: ';
@@ -0,0 +1,27 @@
<?php
/**
* Hungarian PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author @dominicus-75
*/
$PHPMAILER_LANG['authenticate'] = 'SMTP hiba: az azonosítás sikertelen.';
$PHPMAILER_LANG['connect_host'] = 'SMTP hiba: nem lehet kapcsolódni az SMTP-szerverhez.';
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP hiba: adatok visszautasítva.';
$PHPMAILER_LANG['empty_message'] = 'Üres az üzenettörzs.';
$PHPMAILER_LANG['encoding'] = 'Ismeretlen kódolás: ';
$PHPMAILER_LANG['execute'] = 'Nem lehet végrehajtani: ';
$PHPMAILER_LANG['file_access'] = 'A következő fájl nem elérhető: ';
$PHPMAILER_LANG['file_open'] = 'Fájl hiba: a következő fájlt nem lehet megnyitni: ';
$PHPMAILER_LANG['from_failed'] = 'A feladóként megadott következő cím hibás: ';
$PHPMAILER_LANG['instantiate'] = 'A PHP mail() függvényt nem sikerült végrehajtani.';
$PHPMAILER_LANG['invalid_address'] = 'Érvénytelen cím: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' a mailer-osztály nem támogatott.';
$PHPMAILER_LANG['provide_address'] = 'Legalább egy címzettet fel kell tüntetni.';
$PHPMAILER_LANG['recipients_failed'] = 'SMTP hiba: a címzettként megadott következő címek hibásak: ';
$PHPMAILER_LANG['signing'] = 'Hibás aláírás: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'Hiba az SMTP-kapcsolatban.';
$PHPMAILER_LANG['smtp_error'] = 'SMTP-szerver hiba: ';
$PHPMAILER_LANG['variable_set'] = 'A következő változók beállítása nem sikerült: ';
$PHPMAILER_LANG['extension_missing'] = 'Bővítmény hiányzik: ';
@@ -0,0 +1,27 @@
<?php
/**
* Armenian PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author Hrayr Grigoryan <hrayr@bits.am>
*/
$PHPMAILER_LANG['authenticate'] = 'SMTP -ի սխալ: չհաջողվեց ստուգել իսկությունը.';
$PHPMAILER_LANG['connect_host'] = 'SMTP -ի սխալ: չհաջողվեց կապ հաստատել SMTP սերվերի հետ.';
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP -ի սխալ: տվյալները ընդունված չեն.';
$PHPMAILER_LANG['empty_message'] = 'Հաղորդագրությունը դատարկ է';
$PHPMAILER_LANG['encoding'] = 'Կոդավորման անհայտ տեսակ: ';
$PHPMAILER_LANG['execute'] = 'Չհաջողվեց իրականացնել հրամանը: ';
$PHPMAILER_LANG['file_access'] = 'Ֆայլը հասանելի չէ: ';
$PHPMAILER_LANG['file_open'] = 'Ֆայլի սխալ: ֆայլը չհաջողվեց բացել: ';
$PHPMAILER_LANG['from_failed'] = 'Ուղարկողի հետևյալ հասցեն սխալ է: ';
$PHPMAILER_LANG['instantiate'] = 'Հնարավոր չէ կանչել mail ֆունկցիան.';
$PHPMAILER_LANG['invalid_address'] = 'Հասցեն սխալ է: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' փոստային սերվերի հետ չի աշխատում.';
$PHPMAILER_LANG['provide_address'] = 'Անհրաժեշտ է տրամադրել գոնե մեկ ստացողի e-mail հասցե.';
$PHPMAILER_LANG['recipients_failed'] = 'SMTP -ի սխալ: չի հաջողվել ուղարկել հետևյալ ստացողների հասցեներին: ';
$PHPMAILER_LANG['signing'] = 'Ստորագրման սխալ: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP -ի connect() ֆունկցիան չի հաջողվել';
$PHPMAILER_LANG['smtp_error'] = 'SMTP սերվերի սխալ: ';
$PHPMAILER_LANG['variable_set'] = 'Չի հաջողվում ստեղծել կամ վերափոխել փոփոխականը: ';
$PHPMAILER_LANG['extension_missing'] = 'Հավելվածը բացակայում է: ';
@@ -0,0 +1,31 @@
<?php
/**
* Indonesian PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author Cecep Prawiro <cecep.prawiro@gmail.com>
* @author @januridp
* @author Ian Mustafa <mail@ianmustafa.com>
*/
$PHPMAILER_LANG['authenticate'] = 'Kesalahan SMTP: Tidak dapat mengotentikasi.';
$PHPMAILER_LANG['connect_host'] = 'Kesalahan SMTP: Tidak dapat terhubung ke host SMTP.';
$PHPMAILER_LANG['data_not_accepted'] = 'Kesalahan SMTP: Data tidak diterima.';
$PHPMAILER_LANG['empty_message'] = 'Isi pesan kosong';
$PHPMAILER_LANG['encoding'] = 'Pengkodean karakter tidak dikenali: ';
$PHPMAILER_LANG['execute'] = 'Tidak dapat menjalankan proses: ';
$PHPMAILER_LANG['file_access'] = 'Tidak dapat mengakses berkas: ';
$PHPMAILER_LANG['file_open'] = 'Kesalahan Berkas: Berkas tidak dapat dibuka: ';
$PHPMAILER_LANG['from_failed'] = 'Alamat pengirim berikut mengakibatkan kesalahan: ';
$PHPMAILER_LANG['instantiate'] = 'Tidak dapat menginisialisasi fungsi surel.';
$PHPMAILER_LANG['invalid_address'] = 'Gagal terkirim, alamat surel tidak sesuai: ';
$PHPMAILER_LANG['invalid_hostentry'] = 'Gagal terkirim, entri host tidak sesuai: ';
$PHPMAILER_LANG['invalid_host'] = 'Gagal terkirim, host tidak sesuai: ';
$PHPMAILER_LANG['provide_address'] = 'Harus tersedia minimal satu alamat tujuan';
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer tidak didukung';
$PHPMAILER_LANG['recipients_failed'] = 'Kesalahan SMTP: Alamat tujuan berikut menyebabkan kesalahan: ';
$PHPMAILER_LANG['signing'] = 'Kesalahan dalam penandatangan SSL: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() gagal.';
$PHPMAILER_LANG['smtp_error'] = 'Kesalahan pada pelayan SMTP: ';
$PHPMAILER_LANG['variable_set'] = 'Tidak dapat mengatur atau mengatur ulang variabel: ';
$PHPMAILER_LANG['extension_missing'] = 'Ekstensi PHP tidak tersedia: ';
@@ -0,0 +1,28 @@
<?php
/**
* Italian PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author Ilias Bartolini <brain79@inwind.it>
* @author Stefano Sabatini <sabas88@gmail.com>
*/
$PHPMAILER_LANG['authenticate'] = 'SMTP Error: Impossibile autenticarsi.';
$PHPMAILER_LANG['connect_host'] = 'SMTP Error: Impossibile connettersi all\'host SMTP.';
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP Error: Dati non accettati dal server.';
$PHPMAILER_LANG['empty_message'] = 'Il corpo del messaggio è vuoto';
$PHPMAILER_LANG['encoding'] = 'Codifica dei caratteri sconosciuta: ';
$PHPMAILER_LANG['execute'] = 'Impossibile eseguire l\'operazione: ';
$PHPMAILER_LANG['file_access'] = 'Impossibile accedere al file: ';
$PHPMAILER_LANG['file_open'] = 'File Error: Impossibile aprire il file: ';
$PHPMAILER_LANG['from_failed'] = 'I seguenti indirizzi mittenti hanno generato errore: ';
$PHPMAILER_LANG['instantiate'] = 'Impossibile istanziare la funzione mail';
$PHPMAILER_LANG['invalid_address'] = 'Impossibile inviare, l\'indirizzo email non è valido: ';
$PHPMAILER_LANG['provide_address'] = 'Deve essere fornito almeno un indirizzo ricevente';
$PHPMAILER_LANG['mailer_not_supported'] = 'Mailer non supportato';
$PHPMAILER_LANG['recipients_failed'] = 'SMTP Error: I seguenti indirizzi destinatari hanno generato un errore: ';
$PHPMAILER_LANG['signing'] = 'Errore nella firma: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() fallita.';
$PHPMAILER_LANG['smtp_error'] = 'Errore del server SMTP: ';
$PHPMAILER_LANG['variable_set'] = 'Impossibile impostare o resettare la variabile: ';
$PHPMAILER_LANG['extension_missing'] = 'Estensione mancante: ';
@@ -0,0 +1,37 @@
<?php
/**
* Japanese PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author Mitsuhiro Yoshida <https://mitstek.com>
* @author Yoshi Sakai <http://bluemooninc.jp/>
* @author Arisophy <https://github.com/arisophy/>
* @author ARAKI Musashi <https://github.com/arakim/>
*/
$PHPMAILER_LANG['authenticate'] = 'SMTPエラー: 認証できませんでした。';
$PHPMAILER_LANG['buggy_php'] = 'ご利用のバージョンのPHPには不具合があり、メッセージが破損するおそれがあります。問題の解決は以下のいずれかを行ってください。SMTPでの送信に切り替える。php.iniのmail.add_x_headerをoffにする。MacOSまたはLinuxに切り替える。PHPバージョン7.0.17以降または7.1.3以降にアップグレードする。';
$PHPMAILER_LANG['connect_host'] = 'SMTPエラー: SMTPホストに接続できませんでした。';
$PHPMAILER_LANG['data_not_accepted'] = 'SMTPエラー: データが受け付けられませんでした。';
$PHPMAILER_LANG['empty_message'] = 'メール本文が空です。';
$PHPMAILER_LANG['encoding'] = '不明なエンコーディング: ';
$PHPMAILER_LANG['execute'] = '実行できませんでした: ';
$PHPMAILER_LANG['extension_missing'] = '拡張機能が見つかりません: ';
$PHPMAILER_LANG['file_access'] = 'ファイルにアクセスできません: ';
$PHPMAILER_LANG['file_open'] = 'ファイルエラー: ファイルを開けません: ';
$PHPMAILER_LANG['from_failed'] = 'Fromアドレスを登録する際にエラーが発生しました: ';
$PHPMAILER_LANG['instantiate'] = 'メール関数が正常に動作しませんでした。';
$PHPMAILER_LANG['invalid_address'] = '不正なメールアドレス: ';
$PHPMAILER_LANG['invalid_header'] = '不正なヘッダー名またはその内容';
$PHPMAILER_LANG['invalid_hostentry'] = '不正なホストエントリー: ';
$PHPMAILER_LANG['invalid_host'] = '不正なホスト: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' メーラーがサポートされていません。';
$PHPMAILER_LANG['provide_address'] = '少なくとも1つメールアドレスを 指定する必要があります。';
$PHPMAILER_LANG['recipients_failed'] = 'SMTPエラー: 次の受信者アドレスに 間違いがあります: ';
$PHPMAILER_LANG['signing'] = '署名エラー: ';
$PHPMAILER_LANG['smtp_code'] = 'SMTPコード: ';
$PHPMAILER_LANG['smtp_code_ex'] = 'SMTP追加情報: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP接続に失敗しました。';
$PHPMAILER_LANG['smtp_detail'] = '詳細: ';
$PHPMAILER_LANG['smtp_error'] = 'SMTPサーバーエラー: ';
$PHPMAILER_LANG['variable_set'] = '変数が存在しません: ';
@@ -0,0 +1,27 @@
<?php
/**
* Georgian PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author Avtandil Kikabidze aka LONGMAN <akalongman@gmail.com>
*/
$PHPMAILER_LANG['authenticate'] = 'SMTP შეცდომა: ავტორიზაცია შეუძლებელია.';
$PHPMAILER_LANG['connect_host'] = 'SMTP შეცდომა: SMTP სერვერთან დაკავშირება შეუძლებელია.';
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP შეცდომა: მონაცემები არ იქნა მიღებული.';
$PHPMAILER_LANG['encoding'] = 'კოდირების უცნობი ტიპი: ';
$PHPMAILER_LANG['execute'] = 'შეუძლებელია შემდეგი ბრძანების შესრულება: ';
$PHPMAILER_LANG['file_access'] = 'შეუძლებელია წვდომა ფაილთან: ';
$PHPMAILER_LANG['file_open'] = 'ფაილური სისტემის შეცდომა: არ იხსნება ფაილი: ';
$PHPMAILER_LANG['from_failed'] = 'გამგზავნის არასწორი მისამართი: ';
$PHPMAILER_LANG['instantiate'] = 'mail ფუნქციის გაშვება ვერ ხერხდება.';
$PHPMAILER_LANG['provide_address'] = 'გთხოვთ მიუთითოთ ერთი ადრესატის e-mail მისამართი მაინც.';
$PHPMAILER_LANG['mailer_not_supported'] = ' - საფოსტო სერვერის მხარდაჭერა არ არის.';
$PHPMAILER_LANG['recipients_failed'] = 'SMTP შეცდომა: შემდეგ მისამართებზე გაგზავნა ვერ მოხერხდა: ';
$PHPMAILER_LANG['empty_message'] = 'შეტყობინება ცარიელია';
$PHPMAILER_LANG['invalid_address'] = 'არ გაიგზავნა, e-mail მისამართის არასწორი ფორმატი: ';
$PHPMAILER_LANG['signing'] = 'ხელმოწერის შეცდომა: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'შეცდომა SMTP სერვერთან დაკავშირებისას';
$PHPMAILER_LANG['smtp_error'] = 'SMTP სერვერის შეცდომა: ';
$PHPMAILER_LANG['variable_set'] = 'შეუძლებელია შემდეგი ცვლადის შექმნა ან შეცვლა: ';
$PHPMAILER_LANG['extension_missing'] = 'ბიბლიოთეკა არ არსებობს: ';
@@ -0,0 +1,27 @@
<?php
/**
* Korean PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author ChalkPE <amato0617@gmail.com>
*/
$PHPMAILER_LANG['authenticate'] = 'SMTP 오류: 인증할 수 없습니다.';
$PHPMAILER_LANG['connect_host'] = 'SMTP 오류: SMTP 호스트에 접속할 수 없습니다.';
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP 오류: 데이터가 받아들여지지 않았습니다.';
$PHPMAILER_LANG['empty_message'] = '메세지 내용이 없습니다';
$PHPMAILER_LANG['encoding'] = '알 수 없는 인코딩: ';
$PHPMAILER_LANG['execute'] = '실행 불가: ';
$PHPMAILER_LANG['file_access'] = '파일 접근 불가: ';
$PHPMAILER_LANG['file_open'] = '파일 오류: 파일을 열 수 없습니다: ';
$PHPMAILER_LANG['from_failed'] = '다음 From 주소에서 오류가 발생했습니다: ';
$PHPMAILER_LANG['instantiate'] = 'mail 함수를 인스턴스화할 수 없습니다';
$PHPMAILER_LANG['invalid_address'] = '잘못된 주소: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' 메일러는 지원되지 않습니다.';
$PHPMAILER_LANG['provide_address'] = '적어도 한 개 이상의 수신자 메일 주소를 제공해야 합니다.';
$PHPMAILER_LANG['recipients_failed'] = 'SMTP 오류: 다음 수신자에서 오류가 발생했습니다: ';
$PHPMAILER_LANG['signing'] = '서명 오류: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP 연결을 실패하였습니다.';
$PHPMAILER_LANG['smtp_error'] = 'SMTP 서버 오류: ';
$PHPMAILER_LANG['variable_set'] = '변수 설정 및 초기화 불가: ';
$PHPMAILER_LANG['extension_missing'] = '확장자 없음: ';
@@ -0,0 +1,27 @@
<?php
/**
* Kurdish (Sorani) PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author Halo Salman <halo@home4t.com>
*/
$PHPMAILER_LANG['authenticate'] = 'هەڵەی SMTP : نەتوانرا کۆدەکە پشتڕاست بکرێتەوە ';
$PHPMAILER_LANG['connect_host'] = 'هەڵەی SMTP: نەتوانرا پەیوەندی بە سێرڤەرەوە بکات SMTP.';
$PHPMAILER_LANG['data_not_accepted'] = 'هەڵەی SMTP: ئەو زانیاریانە قبوڵ نەکرا.';
$PHPMAILER_LANG['empty_message'] = 'پەیامەکە بەتاڵە';
$PHPMAILER_LANG['encoding'] = 'کۆدکردنی نەزانراو : ';
$PHPMAILER_LANG['execute'] = 'ناتوانرێت جێبەجێ بکرێت: ';
$PHPMAILER_LANG['file_access'] = 'ناتوانرێت دەستت بگات بە فایلەکە: ';
$PHPMAILER_LANG['file_open'] = 'هەڵەی پەڕگە(فایل): ناتوانرێت بکرێتەوە: ';
$PHPMAILER_LANG['from_failed'] = 'هەڵە لە ئاستی ناونیشانی نێرەر: ';
$PHPMAILER_LANG['instantiate'] = 'ناتوانرێت خزمەتگوزاری پۆستە پێشکەش بکرێت.';
$PHPMAILER_LANG['invalid_address'] = 'نەتوانرا بنێردرێت ، چونکە ناونیشانی ئیمەیڵەکە نادروستە: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' مەیلەر پشتگیری ناکات';
$PHPMAILER_LANG['provide_address'] = 'دەبێت ناونیشانی ئیمەیڵی لانیکەم یەک وەرگر دابین بکرێت.';
$PHPMAILER_LANG['recipients_failed'] = ' هەڵەی SMTP: ئەم هەڵانەی خوارەوەشکستی هێنا لە ناردن بۆ هەردووکیان: ';
$PHPMAILER_LANG['signing'] = 'هەڵەی واژۆ: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect()پەیوەندی شکستی هێنا .';
$PHPMAILER_LANG['smtp_error'] = 'هەڵەی ئاستی سێرڤەری SMTP: ';
$PHPMAILER_LANG['variable_set'] = 'ناتوانرێت بیگۆڕیت یان دوبارە بینێریتەوە: ';
$PHPMAILER_LANG['extension_missing'] = 'درێژکراوە نەماوە: ';
@@ -0,0 +1,27 @@
<?php
/**
* Lithuanian PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author Dainius Kaupaitis <dk@sum.lt>
*/
$PHPMAILER_LANG['authenticate'] = 'SMTP klaida: autentifikacija nepavyko.';
$PHPMAILER_LANG['connect_host'] = 'SMTP klaida: nepavyksta prisijungti prie SMTP stoties.';
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP klaida: duomenys nepriimti.';
$PHPMAILER_LANG['empty_message'] = 'Laiško turinys tuščias';
$PHPMAILER_LANG['encoding'] = 'Neatpažinta koduotė: ';
$PHPMAILER_LANG['execute'] = 'Nepavyko įvykdyti komandos: ';
$PHPMAILER_LANG['file_access'] = 'Byla nepasiekiama: ';
$PHPMAILER_LANG['file_open'] = 'Bylos klaida: Nepavyksta atidaryti: ';
$PHPMAILER_LANG['from_failed'] = 'Neteisingas siuntėjo adresas: ';
$PHPMAILER_LANG['instantiate'] = 'Nepavyko paleisti mail funkcijos.';
$PHPMAILER_LANG['invalid_address'] = 'Neteisingas adresas: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' pašto stotis nepalaikoma.';
$PHPMAILER_LANG['provide_address'] = 'Nurodykite bent vieną gavėjo adresą.';
$PHPMAILER_LANG['recipients_failed'] = 'SMTP klaida: nepavyko išsiųsti šiems gavėjams: ';
$PHPMAILER_LANG['signing'] = 'Prisijungimo klaida: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP susijungimo klaida';
$PHPMAILER_LANG['smtp_error'] = 'SMTP stoties klaida: ';
$PHPMAILER_LANG['variable_set'] = 'Nepavyko priskirti reikšmės kintamajam: ';
//$PHPMAILER_LANG['extension_missing'] = 'Extension missing: ';
@@ -0,0 +1,27 @@
<?php
/**
* Latvian PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author Eduards M. <e@npd.lv>
*/
$PHPMAILER_LANG['authenticate'] = 'SMTP kļūda: Autorizācija neizdevās.';
$PHPMAILER_LANG['connect_host'] = 'SMTP Kļūda: Nevar izveidot savienojumu ar SMTP serveri.';
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP Kļūda: Nepieņem informāciju.';
$PHPMAILER_LANG['empty_message'] = 'Ziņojuma teksts ir tukšs';
$PHPMAILER_LANG['encoding'] = 'Neatpazīts kodējums: ';
$PHPMAILER_LANG['execute'] = 'Neizdevās izpildīt komandu: ';
$PHPMAILER_LANG['file_access'] = 'Fails nav pieejams: ';
$PHPMAILER_LANG['file_open'] = 'Faila kļūda: Nevar atvērt failu: ';
$PHPMAILER_LANG['from_failed'] = 'Nepareiza sūtītāja adrese: ';
$PHPMAILER_LANG['instantiate'] = 'Nevar palaist sūtīšanas funkciju.';
$PHPMAILER_LANG['invalid_address'] = 'Nepareiza adrese: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' sūtītājs netiek atbalstīts.';
$PHPMAILER_LANG['provide_address'] = 'Lūdzu, norādiet vismaz vienu adresātu.';
$PHPMAILER_LANG['recipients_failed'] = 'SMTP kļūda: neizdevās nosūtīt šādiem saņēmējiem: ';
$PHPMAILER_LANG['signing'] = 'Autorizācijas kļūda: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP savienojuma kļūda';
$PHPMAILER_LANG['smtp_error'] = 'SMTP servera kļūda: ';
$PHPMAILER_LANG['variable_set'] = 'Nevar piešķirt mainīgā vērtību: ';
//$PHPMAILER_LANG['extension_missing'] = 'Extension missing: ';
@@ -0,0 +1,27 @@
<?php
/**
* Malagasy PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author Hackinet <piyushjha8164@gmail.com>
*/
$PHPMAILER_LANG['authenticate'] = 'Hadisoana SMTP: Tsy nahomby ny fanamarinana.';
$PHPMAILER_LANG['connect_host'] = 'SMTP Error: Tsy afaka mampifandray amin\'ny mpampiantrano SMTP.';
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP diso: tsy voarakitra ny angona.';
$PHPMAILER_LANG['empty_message'] = 'Tsy misy ny votoaty mailaka.';
$PHPMAILER_LANG['encoding'] = 'Tsy fantatra encoding: ';
$PHPMAILER_LANG['execute'] = 'Tsy afaka manatanteraka ity baiko manaraka ity: ';
$PHPMAILER_LANG['file_access'] = 'Tsy nahomby ny fidirana amin\'ity rakitra ity: ';
$PHPMAILER_LANG['file_open'] = 'Hadisoana diso: Tsy afaka nanokatra ity file manaraka ity: ';
$PHPMAILER_LANG['from_failed'] = 'Ny adiresy iraka manaraka dia diso: ';
$PHPMAILER_LANG['instantiate'] = 'Tsy afaka nanomboka ny hetsika mail.';
$PHPMAILER_LANG['invalid_address'] = 'Tsy mety ny adiresy: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer tsy manohana.';
$PHPMAILER_LANG['provide_address'] = 'Alefaso azafady iray adiresy iray farafahakeliny.';
$PHPMAILER_LANG['recipients_failed'] = 'SMTP Error: Tsy mety ireo mpanaraka ireto: ';
$PHPMAILER_LANG['signing'] = 'Error nandritra ny sonia:';
$PHPMAILER_LANG['smtp_connect_failed'] = 'Tsy nahomby ny fifandraisana tamin\'ny server SMTP.';
$PHPMAILER_LANG['smtp_error'] = 'Fahadisoana tamin\'ny server SMTP: ';
$PHPMAILER_LANG['variable_set'] = 'Tsy azo atao ny mametraka na mamerina ny variable: ';
$PHPMAILER_LANG['extension_missing'] = 'Tsy hita ny ampahany: ';
@@ -0,0 +1,27 @@
<?php
/**
* Mongolian PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author @wispas
*/
$PHPMAILER_LANG['authenticate'] = 'Алдаа SMTP: Холбогдож чадсангүй.';
$PHPMAILER_LANG['connect_host'] = 'Алдаа SMTP: SMTP- сервертэй холбогдож болохгүй байна.';
$PHPMAILER_LANG['data_not_accepted'] = 'Алдаа SMTP: зөвшөөрөгдсөнгүй.';
$PHPMAILER_LANG['encoding'] = 'Тодорхойгүй кодчилол: ';
$PHPMAILER_LANG['execute'] = 'Коммандыг гүйцэтгэх боломжгүй байна: ';
$PHPMAILER_LANG['file_access'] = 'Файлд хандах боломжгүй байна: ';
$PHPMAILER_LANG['file_open'] = 'Файлын алдаа: файлыг нээх боломжгүй байна: ';
$PHPMAILER_LANG['from_failed'] = 'Илгээгчийн хаяг буруу байна: ';
$PHPMAILER_LANG['instantiate'] = 'Mail () функцийг ажиллуулах боломжгүй байна.';
$PHPMAILER_LANG['provide_address'] = 'Хүлээн авагчийн имэйл хаягийг оруулна уу.';
$PHPMAILER_LANG['mailer_not_supported'] = ' — мэйл серверийг дэмжсэнгүй.';
$PHPMAILER_LANG['recipients_failed'] = 'Алдаа SMTP: ийм хаягийг илгээж чадсангүй: ';
$PHPMAILER_LANG['empty_message'] = 'Хоосон мессэж';
$PHPMAILER_LANG['invalid_address'] = 'И-Мэйл буруу форматтай тул илгээх боломжгүй: ';
$PHPMAILER_LANG['signing'] = 'Гарын үсгийн алдаа: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP сервертэй холбогдоход алдаа гарлаа';
$PHPMAILER_LANG['smtp_error'] = 'SMTP серверийн алдаа: ';
$PHPMAILER_LANG['variable_set'] = 'Хувьсагчийг тохируулах эсвэл дахин тохируулах боломжгүй байна: ';
$PHPMAILER_LANG['extension_missing'] = 'Өргөтгөл байхгүй: ';
@@ -0,0 +1,27 @@
<?php
/**
* Malaysian PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author Nawawi Jamili <nawawi@rutweb.com>
*/
$PHPMAILER_LANG['authenticate'] = 'Ralat SMTP: Tidak dapat pengesahan.';
$PHPMAILER_LANG['connect_host'] = 'Ralat SMTP: Tidak dapat menghubungi hos pelayan SMTP.';
$PHPMAILER_LANG['data_not_accepted'] = 'Ralat SMTP: Data tidak diterima oleh pelayan.';
$PHPMAILER_LANG['empty_message'] = 'Tiada isi untuk mesej';
$PHPMAILER_LANG['encoding'] = 'Pengekodan tidak diketahui: ';
$PHPMAILER_LANG['execute'] = 'Tidak dapat melaksanakan: ';
$PHPMAILER_LANG['file_access'] = 'Tidak dapat mengakses fail: ';
$PHPMAILER_LANG['file_open'] = 'Ralat Fail: Tidak dapat membuka fail: ';
$PHPMAILER_LANG['from_failed'] = 'Berikut merupakan ralat dari alamat e-mel: ';
$PHPMAILER_LANG['instantiate'] = 'Tidak dapat memberi contoh fungsi e-mel.';
$PHPMAILER_LANG['invalid_address'] = 'Alamat emel tidak sah: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' jenis penghantar emel tidak disokong.';
$PHPMAILER_LANG['provide_address'] = 'Anda perlu menyediakan sekurang-kurangnya satu alamat e-mel penerima.';
$PHPMAILER_LANG['recipients_failed'] = 'Ralat SMTP: Penerima e-mel berikut telah gagal: ';
$PHPMAILER_LANG['signing'] = 'Ralat pada tanda tangan: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() telah gagal.';
$PHPMAILER_LANG['smtp_error'] = 'Ralat pada pelayan SMTP: ';
$PHPMAILER_LANG['variable_set'] = 'Tidak boleh menetapkan atau menetapkan semula pembolehubah: ';
$PHPMAILER_LANG['extension_missing'] = 'Sambungan hilang: ';
@@ -0,0 +1,37 @@
<?php
/**
* Norwegian Bokmål PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author Wera AS <wordpress@wera.no>
*/
$PHPMAILER_LANG['authenticate'] = 'SMTP-feil: Kunne ikke autentisere.';
$PHPMAILER_LANG['buggy_php'] = 'Din versjon av PHP er påvirket av en feil som kan føre til ødelagte meldinger. For å løse problemet kan du bytte til sending via SMTP, deaktivere mail.add_x_header-alternativet i php.ini, bytte til MacOS eller Linux, eller oppgradere PHP til versjon 7.0.17+ eller 7.1.3+.';
$PHPMAILER_LANG['connect_host'] = 'SMTP-feil: Kunne ikke koble til SMTP-vert.';
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP-feil: data ikke akseptert.';
$PHPMAILER_LANG['empty_message'] = 'Meldingsinnholdet er tomt';
$PHPMAILER_LANG['encoding'] = 'Ukjent koding: ';
$PHPMAILER_LANG['execute'] = 'Kunne ikke utføres: ';
$PHPMAILER_LANG['extension_missing'] = 'Utvidelse mangler: ';
$PHPMAILER_LANG['file_access'] = 'Kunne ikke få tilgang til filen: ';
$PHPMAILER_LANG['file_open'] = 'Feil i fil: Kunne ikke åpne filen: ';
$PHPMAILER_LANG['from_failed'] = 'Følgende avsenderadresse mislyktes: ';
$PHPMAILER_LANG['instantiate'] = 'Kunne ikke starte e-postfunksjonen.';
$PHPMAILER_LANG['invalid_address'] = 'Ugyldig adresse: ';
$PHPMAILER_LANG['invalid_header'] = 'Ugyldig headernavn eller verdi';
$PHPMAILER_LANG['invalid_hostentry'] = 'Ugyldig vertsinngang: ';
$PHPMAILER_LANG['invalid_host'] = 'Ugyldig vert: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' sender er ikke støttet.';
$PHPMAILER_LANG['provide_address'] = 'Du må oppgi minst én mottaker-e-postadresse.';
$PHPMAILER_LANG['recipients_failed'] = 'SMTP-feil: Følgende mottakeradresser feilet: ';
$PHPMAILER_LANG['signing'] = 'Signeringsfeil: ';
$PHPMAILER_LANG['smtp_code'] = 'SMTP-kode: ';
$PHPMAILER_LANG['smtp_code_ex'] = 'Ytterligere SMTP-info: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP connect() mislyktes.';
$PHPMAILER_LANG['smtp_detail'] = 'Detaljer: ';
$PHPMAILER_LANG['smtp_error'] = 'SMTP-serverfeil: ';
$PHPMAILER_LANG['variable_set'] = 'Kan ikke angi eller tilbakestille variabel: ';
$PHPMAILER_LANG['no_smtputf8'] = 'Serveren støtter ikke SMTPUTF8, som er nødvendig for å sende til Unicode-adresser.';
$PHPMAILER_LANG['imap_recommended'] = 'Det anbefales ikke å bruke forenklet adresseanalyse. Installer PHP IMAP-utvidelsen for full RFC822-analyse.';
$PHPMAILER_LANG['deprecated_argument'] = 'Avviklet argument: ';
@@ -0,0 +1,38 @@
<?php
/**
* Dutch PHPMailer language file: refer to PHPMailer.php for definitive list.
* @package PHPMailer
* @author Tuxion <team@tuxion.nl>
* @author Robin van der Vliet <info@robinvandervliet.com>
*/
$PHPMAILER_LANG['authenticate'] = 'SMTP-fout: authenticatie mislukt.';
$PHPMAILER_LANG['buggy_php'] = 'PHP-versie gedetecteerd die onderhevig is aan een bug die kan resulteren in gecorrumpeerde berichten. Om dit te voorkomen, gebruik SMTP voor het verzenden van berichten, zet de optie mail.add_x_header in uw php.ini uit, gebruik MacOS of Linux, of pas de gebruikte PHP-versie aan naar versie 7.0.17+ or 7.1.3+.';
$PHPMAILER_LANG['connect_host'] = 'SMTP-fout: kon niet verbinden met SMTP-host.';
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP-fout: data niet geaccepteerd.';
$PHPMAILER_LANG['empty_message'] = 'Berichttekst is leeg';
$PHPMAILER_LANG['encoding'] = 'Onbekende codering: ';
$PHPMAILER_LANG['execute'] = 'Kon niet uitvoeren: ';
$PHPMAILER_LANG['extension_missing'] = 'Extensie afwezig: ';
$PHPMAILER_LANG['file_access'] = 'Kreeg geen toegang tot bestand: ';
$PHPMAILER_LANG['file_open'] = 'Bestandsfout: kon bestand niet openen: ';
$PHPMAILER_LANG['from_failed'] = 'Het volgende afzenderadres is mislukt: ';
$PHPMAILER_LANG['instantiate'] = 'Kon mailfunctie niet initialiseren.';
$PHPMAILER_LANG['invalid_address'] = 'Ongeldig adres: ';
$PHPMAILER_LANG['invalid_header'] = 'Ongeldige headernaam of -waarde';
$PHPMAILER_LANG['invalid_hostentry'] = 'Ongeldige hostentry: ';
$PHPMAILER_LANG['invalid_host'] = 'Ongeldige host: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer wordt niet ondersteund.';
$PHPMAILER_LANG['provide_address'] = 'Er moet minstens één ontvanger worden opgegeven.';
$PHPMAILER_LANG['recipients_failed'] = 'SMTP-fout: de volgende ontvangers zijn mislukt: ';
$PHPMAILER_LANG['signing'] = 'Signeerfout: ';
$PHPMAILER_LANG['smtp_code'] = 'SMTP-code: ';
$PHPMAILER_LANG['smtp_code_ex'] = 'Aanvullende SMTP-informatie: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP-verbinding mislukt.';
$PHPMAILER_LANG['smtp_detail'] = 'Detail: ';
$PHPMAILER_LANG['smtp_error'] = 'SMTP-serverfout: ';
$PHPMAILER_LANG['variable_set'] = 'Kan de volgende variabele niet instellen of herstellen: ';
$PHPMAILER_LANG['no_smtputf8'] = 'De server ondersteunt geen SMTPUTF8 dat nodig is om naar Unicode-adressen te sturen.';
$PHPMAILER_LANG['imap_recommended'] = 'Het gebruik van de vereenvoudigde adresparser is niet aanbevolen. Installeer de IMAP-extensie voor PHP voor volledige RFC822-ondersteuning.';
$PHPMAILER_LANG['deprecated_argument'] = 'Verouderd argument: ';
@@ -0,0 +1,33 @@
<?php
/**
* Polish PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
*/
$PHPMAILER_LANG['authenticate'] = 'Błąd SMTP: nie udało się przeprowadzić uwierzytelnienia.';
$PHPMAILER_LANG['buggy_php'] = 'Używana wersja PHP zawiera błąd, który może powodować uszkodzenie wiadomości. Aby temu zapobiec, użyj wysyłki przez SMTP, wyłącz opcję mail.add_x_header w php.ini, przejdź na macOS lub Linux, lub zaktualizuj PHP do wersji 7.0.17+ albo 7.1.3+.';
$PHPMAILER_LANG['connect_host'] = 'Błąd SMTP: nie udało się połączyć z serwerem (hostem).';
$PHPMAILER_LANG['data_not_accepted'] = 'Błąd SMTP: dane wiadomości nie zostały przyjęte przez serwer.';
$PHPMAILER_LANG['empty_message'] = 'Nie można wysłać pustej wiadomości.';
$PHPMAILER_LANG['encoding'] = 'Nieobsługiwane kodowanie znaków: ';
$PHPMAILER_LANG['execute'] = 'Nie udało się uruchomić polecenia: ';
$PHPMAILER_LANG['extension_missing'] = 'Brak wymaganego rozszerzenia PHP: ';
$PHPMAILER_LANG['file_access'] = 'Brak dostępu do pliku: ';
$PHPMAILER_LANG['file_open'] = 'Nie udało się otworzyć pliku: ';
$PHPMAILER_LANG['from_failed'] = 'Nieprawidłowy adres nadawcy: ';
$PHPMAILER_LANG['instantiate'] = 'Nie można zainicjować funkcji mail(). Sprawdź konfigurację serwera.';
$PHPMAILER_LANG['invalid_address'] = 'Nie można wysłać wiadomości. Nieprawidłowy adres odbiorcy: ';
$PHPMAILER_LANG['invalid_header'] = 'Nieprawidłowa nazwa lub wartość nagłówka.';
$PHPMAILER_LANG['invalid_hostentry'] = 'Nieprawidłowy wpis hosta: ';
$PHPMAILER_LANG['invalid_host'] = 'Nieprawidłowa nazwa hosta: ';
$PHPMAILER_LANG['provide_address'] = 'Musisz podać co najmniej jeden prawidłowy adres e-mail odbiorcy.';
$PHPMAILER_LANG['mailer_not_supported'] = 'Wybrana metoda wysyłki wiadomości nie jest obsługiwana.';
$PHPMAILER_LANG['recipients_failed'] = 'Błąd SMTP: nie udało się wysłać do następujących odbiorców: ';
$PHPMAILER_LANG['signing'] = 'Błąd podpisywania wiadomości cyfrowo: ';
$PHPMAILER_LANG['smtp_code'] = 'Kod odpowiedzi SMTP: ';
$PHPMAILER_LANG['smtp_code_ex'] = 'Dodatkowe informacje serwera SMTP: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'Nie udało się nawiązać połączenia za pomocą SMTP Connect().';
$PHPMAILER_LANG['smtp_detail'] = 'Szczegóły błędu: ';
$PHPMAILER_LANG['smtp_error'] = 'Błąd serwera SMTP: ';
$PHPMAILER_LANG['variable_set'] = 'Nie można ustawić lub zmodyfikować zmiennej: ';
@@ -0,0 +1,34 @@
<?php
/**
* Portuguese (European) PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author João Vieira <mail@joaovieira.eu>
*/
$PHPMAILER_LANG['authenticate'] = 'Erro SMTP: Falha na autenticação.';
$PHPMAILER_LANG['buggy_php'] = 'A sua versão do PHP tem um bug que pode causar mensagens corrompidas. Para resolver, utilize o envio por SMTP, desative a opção mail.add_x_header no ficheiro php.ini, mude para MacOS ou Linux, ou atualize o PHP para a versão 7.0.17+ ou 7.1.3+.';
$PHPMAILER_LANG['connect_host'] = 'Erro SMTP: Não foi possível ligar ao servidor SMTP.';
$PHPMAILER_LANG['data_not_accepted'] = 'Erro SMTP: Dados não aceites.';
$PHPMAILER_LANG['empty_message'] = 'A mensagem de e-mail está vazia.';
$PHPMAILER_LANG['encoding'] = 'Codificação desconhecida: ';
$PHPMAILER_LANG['execute'] = 'Não foi possível executar: ';
$PHPMAILER_LANG['extension_missing'] = 'Extensão em falta: ';
$PHPMAILER_LANG['file_access'] = 'Não foi possível aceder ao ficheiro: ';
$PHPMAILER_LANG['file_open'] = 'Erro ao abrir o ficheiro: ';
$PHPMAILER_LANG['from_failed'] = 'O envio falhou para o seguinte endereço do remetente: ';
$PHPMAILER_LANG['instantiate'] = 'Não foi possível instanciar a função mail.';
$PHPMAILER_LANG['invalid_address'] = 'Endereço de e-mail inválido: ';
$PHPMAILER_LANG['invalid_header'] = 'Nome ou valor do cabeçalho inválido.';
$PHPMAILER_LANG['invalid_hostentry'] = 'Entrada de host inválida: ';
$PHPMAILER_LANG['invalid_host'] = 'Host inválido: ';
$PHPMAILER_LANG['mailer_not_supported'] = 'O cliente de e-mail não é suportado.';
$PHPMAILER_LANG['provide_address'] = 'Deve fornecer pelo menos um endereço de destinatário.';
$PHPMAILER_LANG['recipients_failed'] = 'Erro SMTP: Falha no envio para os seguintes destinatários: ';
$PHPMAILER_LANG['signing'] = 'Erro ao assinar: ';
$PHPMAILER_LANG['smtp_code'] = 'Código SMTP: ';
$PHPMAILER_LANG['smtp_code_ex'] = 'Informações adicionais SMTP: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'Falha na função SMTP connect().';
$PHPMAILER_LANG['smtp_detail'] = 'Detalhes: ';
$PHPMAILER_LANG['smtp_error'] = 'Erro do servidor SMTP: ';
$PHPMAILER_LANG['variable_set'] = 'Não foi possível definir ou redefinir a variável: ';
@@ -0,0 +1,38 @@
<?php
/**
* Brazilian Portuguese PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author Paulo Henrique Garcia <paulo@controllerweb.com.br>
* @author Lucas Guimarães <lucas@lucasguimaraes.com>
* @author Phelipe Alves <phelipealvesdesouza@gmail.com>
* @author Fabio Beneditto <fabiobeneditto@gmail.com>
* @author Geidson Benício Coelho <geidsonc@gmail.com>
*/
$PHPMAILER_LANG['authenticate'] = 'Erro de SMTP: Não foi possível autenticar.';
$PHPMAILER_LANG['buggy_php'] = 'Sua versão do PHP é afetada por um bug que por resultar em messagens corrompidas. Para corrigir, mude para enviar usando SMTP, desative a opção mail.add_x_header em seu php.ini, mude para MacOS ou Linux, ou atualize seu PHP para versão 7.0.17+ ou 7.1.3+ ';
$PHPMAILER_LANG['connect_host'] = 'Erro de SMTP: Não foi possível conectar ao servidor SMTP.';
$PHPMAILER_LANG['data_not_accepted'] = 'Erro de SMTP: Dados rejeitados.';
$PHPMAILER_LANG['empty_message'] = 'Mensagem vazia';
$PHPMAILER_LANG['encoding'] = 'Codificação desconhecida: ';
$PHPMAILER_LANG['execute'] = 'Não foi possível executar: ';
$PHPMAILER_LANG['extension_missing'] = 'Extensão não existe: ';
$PHPMAILER_LANG['file_access'] = 'Não foi possível acessar o arquivo: ';
$PHPMAILER_LANG['file_open'] = 'Erro de Arquivo: Não foi possível abrir o arquivo: ';
$PHPMAILER_LANG['from_failed'] = 'Os seguintes remetentes falharam: ';
$PHPMAILER_LANG['instantiate'] = 'Não foi possível instanciar a função mail.';
$PHPMAILER_LANG['invalid_address'] = 'Endereço de e-mail inválido: ';
$PHPMAILER_LANG['invalid_header'] = 'Nome ou valor de cabeçalho inválido';
$PHPMAILER_LANG['invalid_hostentry'] = 'hostentry inválido: ';
$PHPMAILER_LANG['invalid_host'] = 'host inválido: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer não é suportado.';
$PHPMAILER_LANG['provide_address'] = 'Você deve informar pelo menos um destinatário.';
$PHPMAILER_LANG['recipients_failed'] = 'Erro de SMTP: Os seguintes destinatários falharam: ';
$PHPMAILER_LANG['signing'] = 'Erro de Assinatura: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() falhou.';
$PHPMAILER_LANG['smtp_code'] = 'Código do servidor SMTP: ';
$PHPMAILER_LANG['smtp_error'] = 'Erro de servidor SMTP: ';
$PHPMAILER_LANG['smtp_code_ex'] = 'Informações adicionais do servidor SMTP: ';
$PHPMAILER_LANG['smtp_detail'] = 'Detalhes do servidor SMTP: ';
$PHPMAILER_LANG['variable_set'] = 'Não foi possível definir ou redefinir a variável: ';
@@ -0,0 +1,33 @@
<?php
/**
* Romanian PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
*/
$PHPMAILER_LANG['authenticate'] = 'Eroare SMTP: Autentificarea a eșuat.';
$PHPMAILER_LANG['buggy_php'] = 'Versiunea instalată de PHP este afectată de o problemă care poate duce la coruperea mesajelor Pentru a preveni această problemă, folosiți SMTP, dezactivați opțiunea mail.add_x_header din php.ini, folosiți MacOS/Linux sau actualizați versiunea de PHP la 7.0.17+ sau 7.1.3+.';
$PHPMAILER_LANG['connect_host'] = 'Eroare SMTP: Conectarea la serverul SMTP a eșuat.';
$PHPMAILER_LANG['data_not_accepted'] = 'Eroare SMTP: Datele nu au fost acceptate.';
$PHPMAILER_LANG['empty_message'] = 'Mesajul este gol.';
$PHPMAILER_LANG['encoding'] = 'Encodare necunoscută: ';
$PHPMAILER_LANG['execute'] = 'Nu se poate executa următoarea comandă: ';
$PHPMAILER_LANG['extension_missing'] = 'Lipsește extensia: ';
$PHPMAILER_LANG['file_access'] = 'Nu se poate accesa următorul fișier: ';
$PHPMAILER_LANG['file_open'] = 'Eroare fișier: Nu se poate deschide următorul fișier: ';
$PHPMAILER_LANG['from_failed'] = 'Următoarele adrese From au dat eroare: ';
$PHPMAILER_LANG['instantiate'] = 'Funcția mail nu a putut fi inițializată.';
$PHPMAILER_LANG['invalid_address'] = 'Adresa de email nu este validă: ';
$PHPMAILER_LANG['invalid_header'] = 'Numele sau valoarea header-ului nu este validă: ';
$PHPMAILER_LANG['invalid_hostentry'] = 'Hostentry invalid: ';
$PHPMAILER_LANG['invalid_host'] = 'Host invalid: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer nu este suportat.';
$PHPMAILER_LANG['provide_address'] = 'Trebuie să adăugați cel puțin o adresă de email.';
$PHPMAILER_LANG['recipients_failed'] = 'Eroare SMTP: Următoarele adrese de email au eșuat: ';
$PHPMAILER_LANG['signing'] = 'A aparut o problemă la semnarea emailului. ';
$PHPMAILER_LANG['smtp_code'] = 'Cod SMTP: ';
$PHPMAILER_LANG['smtp_code_ex'] = 'Informații SMTP adiționale: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'Conectarea la serverul SMTP a eșuat.';
$PHPMAILER_LANG['smtp_detail'] = 'Detalii SMTP: ';
$PHPMAILER_LANG['smtp_error'] = 'Eroare server SMTP: ';
$PHPMAILER_LANG['variable_set'] = 'Nu se poate seta/reseta variabila. ';
@@ -0,0 +1,36 @@
<?php
/**
* Russian PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author Alexey Chumakov <alex@chumakov.ru>
* @author Foster Snowhill <i18n@forstwoof.ru>
* @author ProjectSoft <projectsoft2009@yandex.ru>
*/
$PHPMAILER_LANG['authenticate'] = 'Ошибка SMTP: не удалось пройти аутентификацию.';
$PHPMAILER_LANG['buggy_php'] = 'В вашей версии PHP есть ошибка, которая может привести к повреждению сообщений. Чтобы исправить, переключитесь на отправку по SMTP, отключите опцию mail.add_x_header в ваш php.ini, переключитесь на MacOS или Linux или обновите PHP до версии 7.0.17+ или 7.1.3+.';
$PHPMAILER_LANG['connect_host'] = 'Ошибка SMTP: не удается подключиться к SMTP-серверу.';
$PHPMAILER_LANG['data_not_accepted'] = 'Ошибка SMTP: данные не приняты.';
$PHPMAILER_LANG['empty_message'] = 'Пустое сообщение';
$PHPMAILER_LANG['encoding'] = 'Неизвестная кодировка: ';
$PHPMAILER_LANG['execute'] = 'Невозможно выполнить команду: ';
$PHPMAILER_LANG['extension_missing'] = 'Расширение отсутствует: ';
$PHPMAILER_LANG['file_access'] = 'Нет доступа к файлу: ';
$PHPMAILER_LANG['file_open'] = 'Файловая ошибка: не удаётся открыть файл: ';
$PHPMAILER_LANG['from_failed'] = 'Неверный адрес отправителя: ';
$PHPMAILER_LANG['instantiate'] = 'Невозможно запустить функцию mail().';
$PHPMAILER_LANG['invalid_address'] = 'Не отправлено из-за неправильного формата email-адреса: ';
$PHPMAILER_LANG['invalid_header'] = 'Неверное имя или значение заголовка';
$PHPMAILER_LANG['invalid_hostentry'] = 'Неверная запись хоста: ';
$PHPMAILER_LANG['invalid_host'] = 'Неверный хост: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' — почтовый сервер не поддерживается.';
$PHPMAILER_LANG['provide_address'] = 'Вы должны указать хотя бы один адрес электронной почты получателя.';
$PHPMAILER_LANG['recipients_failed'] = 'Ошибка SMTP: Ошибка следующих получателей: ';
$PHPMAILER_LANG['signing'] = 'Ошибка подписи: ';
$PHPMAILER_LANG['smtp_code'] = 'Код SMTP: ';
$PHPMAILER_LANG['smtp_code_ex'] = 'Дополнительная информация SMTP: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'Ошибка соединения с SMTP-сервером.';
$PHPMAILER_LANG['smtp_detail'] = 'Детали: ';
$PHPMAILER_LANG['smtp_error'] = 'Ошибка SMTP-сервера: ';
$PHPMAILER_LANG['variable_set'] = 'Невозможно установить или сбросить переменную: ';
@@ -0,0 +1,34 @@
<?php
/**
* Sinhalese PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author Ayesh Karunaratne <ayesh@aye.sh>
*/
$PHPMAILER_LANG['authenticate'] = 'SMTP දෝෂය: සත්‍යාපනය අසාර්ථක විය.';
$PHPMAILER_LANG['buggy_php'] = 'ඔබගේ PHP version එකෙහි පවතින දෝෂයක් නිසා email පණිවිඩ දෝෂ සහගත වීමේ හැකියාවක් ඇත. මෙය විසදීම සදහා SMTP භාවිතා කිරීම, mail.add_x_header INI setting එක අක්‍රීය කිරීම, MacOS හෝ Linux වලට මාරු වීම, හෝ ඔබගේ PHP version එක 7.0.17+ හෝ 7.1.3+ වලට අලුත් කිරීම කරගන්න.';
$PHPMAILER_LANG['connect_host'] = 'SMTP දෝෂය: සම්බන්ධ වීමට නොහැකි විය.';
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP දෝෂය: දත්ත පිළිගනු නොලැබේ.';
$PHPMAILER_LANG['empty_message'] = 'පණිවිඩ අන්තර්ගතය හිස්';
$PHPMAILER_LANG['encoding'] = 'නොදන්නා කේතනය: ';
$PHPMAILER_LANG['execute'] = 'ක්‍රියාත්මක කළ නොහැකි විය: ';
$PHPMAILER_LANG['extension_missing'] = 'Extension එක නොමැත: ';
$PHPMAILER_LANG['file_access'] = 'File එකට ප්‍රවේශ විය නොහැකි විය: ';
$PHPMAILER_LANG['file_open'] = 'File දෝෂය: File එක විවෘත කළ නොහැක: ';
$PHPMAILER_LANG['from_failed'] = 'පහත From ලිපිනයන් අසාර්ථක විය: ';
$PHPMAILER_LANG['instantiate'] = 'mail function එක ක්‍රියාත්මක කළ නොහැක.';
$PHPMAILER_LANG['invalid_address'] = 'වලංගු නොවන ලිපිනය: ';
$PHPMAILER_LANG['invalid_header'] = 'වලංගු නොවන header නාමයක් හෝ අගයක්';
$PHPMAILER_LANG['invalid_hostentry'] = 'වලංගු නොවන hostentry එකක්: ';
$PHPMAILER_LANG['invalid_host'] = 'වලංගු නොවන host එකක්: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer සහාය නොදක්වයි.';
$PHPMAILER_LANG['provide_address'] = 'ඔබ අවම වශයෙන් එක් ලබන්නෙකුගේ ඊමේල් ලිපිනයක් සැපයිය යුතුය.';
$PHPMAILER_LANG['recipients_failed'] = 'SMTP දෝෂය: පහත ලබන්නන් අසමත් විය: ';
$PHPMAILER_LANG['signing'] = 'Sign කිරීමේ දෝෂය: ';
$PHPMAILER_LANG['smtp_code'] = 'SMTP කේතය: ';
$PHPMAILER_LANG['smtp_code_ex'] = 'අමතර SMTP තොරතුරු: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP සම්බන්ධය අසාර්ථක විය.';
$PHPMAILER_LANG['smtp_detail'] = 'තොරතුරු: ';
$PHPMAILER_LANG['smtp_error'] = 'SMTP දෝෂය: ';
$PHPMAILER_LANG['variable_set'] = 'Variable එක සැකසීමට හෝ නැවත සැකසීමට නොහැක: ';
@@ -0,0 +1,30 @@
<?php
/**
* Slovak PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author Michal Tinka <michaltinka@gmail.com>
* @author Peter Orlický <pcmanik91@gmail.com>
*/
$PHPMAILER_LANG['authenticate'] = 'SMTP Error: Chyba autentifikácie.';
$PHPMAILER_LANG['connect_host'] = 'SMTP Error: Nebolo možné nadviazať spojenie so SMTP serverom.';
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP Error: Dáta neboli prijaté';
$PHPMAILER_LANG['empty_message'] = 'Prázdne telo správy.';
$PHPMAILER_LANG['encoding'] = 'Neznáme kódovanie: ';
$PHPMAILER_LANG['execute'] = 'Nedá sa vykonať: ';
$PHPMAILER_LANG['file_access'] = 'Súbor nebol nájdený: ';
$PHPMAILER_LANG['file_open'] = 'File Error: Súbor sa otvoriť pre čítanie: ';
$PHPMAILER_LANG['from_failed'] = 'Následujúca adresa From je nesprávna: ';
$PHPMAILER_LANG['instantiate'] = 'Nedá sa vytvoriť inštancia emailovej funkcie.';
$PHPMAILER_LANG['invalid_address'] = 'Neodoslané, emailová adresa je nesprávna: ';
$PHPMAILER_LANG['invalid_hostentry'] = 'Záznam hostiteľa je nesprávny: ';
$PHPMAILER_LANG['invalid_host'] = 'Hostiteľ je nesprávny: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' emailový klient nieje podporovaný.';
$PHPMAILER_LANG['provide_address'] = 'Musíte zadať aspoň jednu emailovú adresu príjemcu.';
$PHPMAILER_LANG['recipients_failed'] = 'SMTP Error: Adresy príjemcov niesu správne ';
$PHPMAILER_LANG['signing'] = 'Chyba prihlasovania: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() zlyhalo.';
$PHPMAILER_LANG['smtp_error'] = 'SMTP chyba serveru: ';
$PHPMAILER_LANG['variable_set'] = 'Nemožno nastaviť alebo resetovať premennú: ';
$PHPMAILER_LANG['extension_missing'] = 'Chýba rozšírenie: ';
@@ -0,0 +1,36 @@
<?php
/**
* Slovene PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author Klemen Tušar <techouse@gmail.com>
* @author Filip Š <projects@filips.si>
* @author Blaž Oražem <blaz@orazem.si>
*/
$PHPMAILER_LANG['authenticate'] = 'SMTP napaka: Avtentikacija ni uspela.';
$PHPMAILER_LANG['buggy_php'] = 'Na vašo PHP različico vpliva napaka, ki lahko povzroči poškodovana sporočila. Če želite težavo odpraviti, preklopite na pošiljanje prek SMTP, onemogočite možnost mail.add_x_header v vaši php.ini datoteki, preklopite na MacOS ali Linux, ali nadgradite vašo PHP zaličico na 7.0.17+ ali 7.1.3+.';
$PHPMAILER_LANG['connect_host'] = 'SMTP napaka: Vzpostavljanje povezave s SMTP gostiteljem ni uspelo.';
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP napaka: Strežnik zavrača podatke.';
$PHPMAILER_LANG['empty_message'] = 'E-poštno sporočilo nima vsebine.';
$PHPMAILER_LANG['encoding'] = 'Nepoznan tip kodiranja: ';
$PHPMAILER_LANG['execute'] = 'Operacija ni uspela: ';
$PHPMAILER_LANG['extension_missing'] = 'Manjkajoča razširitev: ';
$PHPMAILER_LANG['file_access'] = 'Nimam dostopa do datoteke: ';
$PHPMAILER_LANG['file_open'] = 'Ne morem odpreti datoteke: ';
$PHPMAILER_LANG['from_failed'] = 'Neveljaven e-naslov pošiljatelja: ';
$PHPMAILER_LANG['instantiate'] = 'Ne morem inicializirati mail funkcije.';
$PHPMAILER_LANG['invalid_address'] = 'E-poštno sporočilo ni bilo poslano. E-naslov je neveljaven: ';
$PHPMAILER_LANG['invalid_header'] = 'Neveljavno ime ali vrednost glave';
$PHPMAILER_LANG['invalid_hostentry'] = 'Neveljaven vnos gostitelja: ';
$PHPMAILER_LANG['invalid_host'] = 'Neveljaven gostitelj: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer ni podprt.';
$PHPMAILER_LANG['provide_address'] = 'Prosimo, vnesite vsaj enega naslovnika.';
$PHPMAILER_LANG['recipients_failed'] = 'SMTP napaka: Sledeči naslovniki so neveljavni: ';
$PHPMAILER_LANG['signing'] = 'Napaka pri podpisovanju: ';
$PHPMAILER_LANG['smtp_code'] = 'SMTP koda: ';
$PHPMAILER_LANG['smtp_code_ex'] = 'Dodatne informacije o SMTP: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'Ne morem vzpostaviti povezave s SMTP strežnikom.';
$PHPMAILER_LANG['smtp_detail'] = 'Podrobnosti: ';
$PHPMAILER_LANG['smtp_error'] = 'Napaka SMTP strežnika: ';
$PHPMAILER_LANG['variable_set'] = 'Ne morem nastaviti oz. ponastaviti spremenljivke: ';
@@ -0,0 +1,28 @@
<?php
/**
* Serbian PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author Александар Јевремовић <ajevremovic@gmail.com>
* @author Miloš Milanović <mmilanovic016@gmail.com>
*/
$PHPMAILER_LANG['authenticate'] = 'SMTP грешка: аутентификација није успела.';
$PHPMAILER_LANG['connect_host'] = 'SMTP грешка: повезивање са SMTP сервером није успело.';
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP грешка: подаци нису прихваћени.';
$PHPMAILER_LANG['empty_message'] = 'Садржај поруке је празан.';
$PHPMAILER_LANG['encoding'] = 'Непознато кодирање: ';
$PHPMAILER_LANG['execute'] = 'Није могуће извршити наредбу: ';
$PHPMAILER_LANG['file_access'] = 'Није могуће приступити датотеци: ';
$PHPMAILER_LANG['file_open'] = 'Није могуће отворити датотеку: ';
$PHPMAILER_LANG['from_failed'] = 'SMTP грешка: слање са следећих адреса није успело: ';
$PHPMAILER_LANG['recipients_failed'] = 'SMTP грешка: слање на следеће адресе није успело: ';
$PHPMAILER_LANG['instantiate'] = 'Није могуће покренути mail функцију.';
$PHPMAILER_LANG['invalid_address'] = 'Порука није послата. Неисправна адреса: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' мејлер није подржан.';
$PHPMAILER_LANG['provide_address'] = 'Дефинишите бар једну адресу примаоца.';
$PHPMAILER_LANG['signing'] = 'Грешка приликом пријаве: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'Повезивање са SMTP сервером није успело.';
$PHPMAILER_LANG['smtp_error'] = 'Грешка SMTP сервера: ';
$PHPMAILER_LANG['variable_set'] = 'Није могуће задати нити ресетовати променљиву: ';
$PHPMAILER_LANG['extension_missing'] = 'Недостаје проширење: ';
@@ -0,0 +1,28 @@
<?php
/**
* Serbian PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author Александар Јевремовић <ajevremovic@gmail.com>
* @author Miloš Milanović <mmilanovic016@gmail.com>
*/
$PHPMAILER_LANG['authenticate'] = 'SMTP greška: autentifikacija nije uspela.';
$PHPMAILER_LANG['connect_host'] = 'SMTP greška: povezivanje sa SMTP serverom nije uspelo.';
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP greška: podaci nisu prihvaćeni.';
$PHPMAILER_LANG['empty_message'] = 'Sadržaj poruke je prazan.';
$PHPMAILER_LANG['encoding'] = 'Nepoznato kodiranje: ';
$PHPMAILER_LANG['execute'] = 'Nije moguće izvršiti naredbu: ';
$PHPMAILER_LANG['file_access'] = 'Nije moguće pristupiti datoteci: ';
$PHPMAILER_LANG['file_open'] = 'Nije moguće otvoriti datoteku: ';
$PHPMAILER_LANG['from_failed'] = 'SMTP greška: slanje sa sledećih adresa nije uspelo: ';
$PHPMAILER_LANG['recipients_failed'] = 'SMTP greška: slanje na sledeće adrese nije uspelo: ';
$PHPMAILER_LANG['instantiate'] = 'Nije moguće pokrenuti mail funkciju.';
$PHPMAILER_LANG['invalid_address'] = 'Poruka nije poslata. Neispravna adresa: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' majler nije podržan.';
$PHPMAILER_LANG['provide_address'] = 'Definišite bar jednu adresu primaoca.';
$PHPMAILER_LANG['signing'] = 'Greška prilikom prijave: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'Povezivanje sa SMTP serverom nije uspelo.';
$PHPMAILER_LANG['smtp_error'] = 'Greška SMTP servera: ';
$PHPMAILER_LANG['variable_set'] = 'Nije moguće zadati niti resetovati promenljivu: ';
$PHPMAILER_LANG['extension_missing'] = 'Nedostaje proširenje: ';
@@ -0,0 +1,27 @@
<?php
/**
* Swedish PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author Johan Linnér <johan@linner.biz>
*/
$PHPMAILER_LANG['authenticate'] = 'SMTP fel: Kunde inte autentisera.';
$PHPMAILER_LANG['connect_host'] = 'SMTP fel: Kunde inte ansluta till SMTP-server.';
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP fel: Data accepterades inte.';
//$PHPMAILER_LANG['empty_message'] = 'Message body empty';
$PHPMAILER_LANG['encoding'] = 'Okänt encode-format: ';
$PHPMAILER_LANG['execute'] = 'Kunde inte köra: ';
$PHPMAILER_LANG['file_access'] = 'Ingen åtkomst till fil: ';
$PHPMAILER_LANG['file_open'] = 'Fil fel: Kunde inte öppna fil: ';
$PHPMAILER_LANG['from_failed'] = 'Följande avsändaradress är felaktig: ';
$PHPMAILER_LANG['instantiate'] = 'Kunde inte initiera e-postfunktion.';
$PHPMAILER_LANG['invalid_address'] = 'Felaktig adress: ';
$PHPMAILER_LANG['provide_address'] = 'Du måste ange minst en mottagares e-postadress.';
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer stöds inte.';
$PHPMAILER_LANG['recipients_failed'] = 'SMTP fel: Följande mottagare är felaktig: ';
$PHPMAILER_LANG['signing'] = 'Signeringsfel: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() misslyckades.';
$PHPMAILER_LANG['smtp_error'] = 'SMTP serverfel: ';
$PHPMAILER_LANG['variable_set'] = 'Kunde inte definiera eller återställa variabel: ';
$PHPMAILER_LANG['extension_missing'] = 'Tillägg ej tillgängligt: ';
@@ -0,0 +1,28 @@
<?php
/**
* Tagalog PHPMailer language file: refer to English translation for definitive list
*
* @package PHPMailer
* @author Adriane Justine Tan <eidoriantan@gmail.com>
*/
$PHPMAILER_LANG['authenticate'] = 'SMTP Error: Hindi mapatotohanan.';
$PHPMAILER_LANG['connect_host'] = 'SMTP Error: Hindi makakonekta sa SMTP host.';
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP Error: Ang datos ay hindi naitanggap.';
$PHPMAILER_LANG['empty_message'] = 'Walang laman ang mensahe';
$PHPMAILER_LANG['encoding'] = 'Hindi alam ang encoding: ';
$PHPMAILER_LANG['execute'] = 'Hindi maisasagawa: ';
$PHPMAILER_LANG['file_access'] = 'Hindi ma-access ang file: ';
$PHPMAILER_LANG['file_open'] = 'File Error: Hindi mabuksan ang file: ';
$PHPMAILER_LANG['from_failed'] = 'Ang sumusunod na address ay nabigo: ';
$PHPMAILER_LANG['instantiate'] = 'Hindi maisimulan ang instance ng mail function.';
$PHPMAILER_LANG['invalid_address'] = 'Hindi wasto ang address na naibigay: ';
$PHPMAILER_LANG['mailer_not_supported'] = 'Ang mailer ay hindi suportado.';
$PHPMAILER_LANG['provide_address'] = 'Kailangan mong magbigay ng kahit isang email address na tatanggap.';
$PHPMAILER_LANG['recipients_failed'] = 'SMTP Error: Ang mga sumusunod na tatanggap ay nabigo: ';
$PHPMAILER_LANG['signing'] = 'Hindi ma-sign: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'Ang SMTP connect() ay nabigo.';
$PHPMAILER_LANG['smtp_error'] = 'Ang server ng SMTP ay nabigo: ';
$PHPMAILER_LANG['variable_set'] = 'Hindi matatakda o ma-reset ang mga variables: ';
$PHPMAILER_LANG['extension_missing'] = 'Nawawala ang extension: ';
@@ -0,0 +1,43 @@
<?php
/**
* Turkish PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author Elçin Özel
* @author Can Yılmaz
* @author Mehmet Benlioğlu
* @author @yasinaydin
* @author Ogün Karakuş
* @author Mustafa Deniz Buksur
*/
$PHPMAILER_LANG['authenticate'] = 'SMTP Hatası: Oturum açılamadı.';
$PHPMAILER_LANG['buggy_php'] = 'PHP sürümünüz iletilerin bozulmasına neden olabilecek bir hatadan etkileniyor. Bunu düzeltmek için, SMTP kullanarak göndermeye geçin, mail.add_x_header seçeneğini devre dışı bırakın php.ini dosyanızdaki mail.add_x_header seçeneğini devre dışı bırakın, MacOS veya Linux geçin veya PHP sürümünü 7.0.17+ veya 7.1.3+ sürümüne yükseltin,';
$PHPMAILER_LANG['connect_host'] = 'SMTP Hatası: SMTP sunucusuna bağlanılamadı.';
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP Hatası: Veri kabul edilmedi.';
$PHPMAILER_LANG['empty_message'] = 'Mesajın içeriği boş';
$PHPMAILER_LANG['encoding'] = 'Bilinmeyen karakter kodlama: ';
$PHPMAILER_LANG['execute'] = 'Çalıştırılamadı: ';
$PHPMAILER_LANG['extension_missing'] = 'Eklenti bulunamadı: ';
$PHPMAILER_LANG['file_access'] = 'Dosyaya erişilemedi: ';
$PHPMAILER_LANG['file_open'] = 'Dosya Hatası: Dosya açılamadı: ';
$PHPMAILER_LANG['from_failed'] = 'Belirtilen adreslere gönderme başarısız: ';
$PHPMAILER_LANG['instantiate'] = 'Örnek e-posta fonksiyonu oluşturulamadı.';
$PHPMAILER_LANG['invalid_address'] = 'Geçersiz e-posta adresi: ';
$PHPMAILER_LANG['invalid_header'] = 'Geçersiz başlık adı veya değeri: ';
$PHPMAILER_LANG['invalid_hostentry'] = 'Geçersiz ana bilgisayar girişi: ';
$PHPMAILER_LANG['invalid_host'] = 'Geçersiz ana bilgisayar: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' e-posta kütüphanesi desteklenmiyor.';
$PHPMAILER_LANG['provide_address'] = 'En az bir alıcı e-posta adresi belirtmelisiniz.';
$PHPMAILER_LANG['recipients_failed'] = 'SMTP Hatası: Belirtilen alıcılara ulaşılamadı: ';
$PHPMAILER_LANG['signing'] = 'İmzalama hatası: ';
$PHPMAILER_LANG['smtp_code'] = 'SMTP kodu: ';
$PHPMAILER_LANG['smtp_code_ex'] = 'ek SMTP bilgileri: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP connect() fonksiyonu başarısız.';
$PHPMAILER_LANG['smtp_detail'] = 'SMTP SMTP Detayı: ';
$PHPMAILER_LANG['smtp_error'] = 'SMTP sunucu hatası: ';
$PHPMAILER_LANG['variable_set'] = 'Değişken ayarlanamadı ya da sıfırlanamadı: ';
$PHPMAILER_LANG['no_smtputf8'] = 'Unicode adreslere gönderim için gereken SMTPUTF8 desteği sunucu tarafından desteklenmiyor.';
$PHPMAILER_LANG['imap_recommended'] = 'Basitleştirilmiş adres ayrıştırıcısını kullanmanız önerilmez. ' .
'Tam RFC822 ayrıştırma için PHP IMAP eklentisini yükleyin.';
$PHPMAILER_LANG['deprecated_argument'] = 'Kullanımdan kaldırılmış argüman: ';
@@ -0,0 +1,28 @@
<?php
/**
* Ukrainian PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author Yuriy Rudyy <yrudyy@prs.net.ua>
* @fixed by Boris Yurchenko <boris@yurchenko.pp.ua>
*/
$PHPMAILER_LANG['authenticate'] = 'Помилка SMTP: помилка авторизації.';
$PHPMAILER_LANG['connect_host'] = 'Помилка SMTP: не вдається під\'єднатися до SMTP-серверу.';
$PHPMAILER_LANG['data_not_accepted'] = 'Помилка SMTP: дані не прийнято.';
$PHPMAILER_LANG['encoding'] = 'Невідоме кодування: ';
$PHPMAILER_LANG['execute'] = 'Неможливо виконати команду: ';
$PHPMAILER_LANG['file_access'] = 'Немає доступу до файлу: ';
$PHPMAILER_LANG['file_open'] = 'Помилка файлової системи: не вдається відкрити файл: ';
$PHPMAILER_LANG['from_failed'] = 'Невірна адреса відправника: ';
$PHPMAILER_LANG['instantiate'] = 'Неможливо запустити функцію mail().';
$PHPMAILER_LANG['provide_address'] = 'Будь ласка, введіть хоча б одну email-адресу отримувача.';
$PHPMAILER_LANG['mailer_not_supported'] = ' - поштовий сервер не підтримується.';
$PHPMAILER_LANG['recipients_failed'] = 'Помилка SMTP: не вдалося відправлення для таких отримувачів: ';
$PHPMAILER_LANG['empty_message'] = 'Пусте повідомлення';
$PHPMAILER_LANG['invalid_address'] = 'Не відправлено через неправильний формат email-адреси: ';
$PHPMAILER_LANG['signing'] = 'Помилка підпису: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'Помилка з\'єднання з SMTP-сервером';
$PHPMAILER_LANG['smtp_error'] = 'Помилка SMTP-сервера: ';
$PHPMAILER_LANG['variable_set'] = 'Неможливо встановити або скинути змінну: ';
$PHPMAILER_LANG['extension_missing'] = 'Розширення відсутнє: ';
@@ -0,0 +1,30 @@
<?php
/**
* Urdu PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author Saqib Ali Siddiqui <saqibsra@gmail.com>
*/
$PHPMAILER_LANG['authenticate'] = 'SMTP خرابی: تصدیق کرنے سے قاصر۔';
$PHPMAILER_LANG['connect_host'] = 'SMTP خرابی: سرور سے منسلک ہونے سے قاصر۔';
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP خرابی: ڈیٹا قبول نہیں کیا گیا۔';
$PHPMAILER_LANG['empty_message'] = 'پیغام کی باڈی خالی ہے۔';
$PHPMAILER_LANG['encoding'] = 'نامعلوم انکوڈنگ: ';
$PHPMAILER_LANG['execute'] = 'عمل کرنے کے قابل نہیں ';
$PHPMAILER_LANG['file_access'] = 'فائل تک رسائی سے قاصر:';
$PHPMAILER_LANG['file_open'] = 'فائل کی خرابی: فائل کو کھولنے سے قاصر:';
$PHPMAILER_LANG['from_failed'] = 'درج ذیل بھیجنے والے کا پتہ ناکام ہو گیا:';
$PHPMAILER_LANG['instantiate'] = 'میل فنکشن کی مثال بنانے سے قاصر۔';
$PHPMAILER_LANG['invalid_address'] = 'بھیجنے سے قاصر: غلط ای میل پتہ:';
$PHPMAILER_LANG['mailer_not_supported'] = ' میلر تعاون یافتہ نہیں ہے۔';
$PHPMAILER_LANG['provide_address'] = 'آپ کو کم از کم ایک منزل کا ای میل پتہ فراہم کرنا چاہیے۔';
$PHPMAILER_LANG['recipients_failed'] = 'SMTP خرابی: درج ذیل پتہ پر نہیں بھیجا جاسکا: ';
$PHPMAILER_LANG['signing'] = 'دستخط کی خرابی: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP ملنا ناکام ہوا';
$PHPMAILER_LANG['smtp_error'] = 'SMTP سرور کی خرابی: ';
$PHPMAILER_LANG['variable_set'] = 'متغیر سیٹ نہیں کیا جا سکا: ';
$PHPMAILER_LANG['extension_missing'] = 'ایکٹینشن موجود نہیں ہے۔ ';
$PHPMAILER_LANG['smtp_code'] = 'SMTP سرور کوڈ: ';
$PHPMAILER_LANG['smtp_code_ex'] = 'اضافی SMTP سرور کی معلومات:';
$PHPMAILER_LANG['invalid_header'] = 'غلط ہیڈر کا نام یا قدر';
@@ -0,0 +1,27 @@
<?php
/**
* Vietnamese (Tiếng Việt) PHPMailer language file: refer to English translation for definitive list.
* @package PHPMailer
* @author VINADES.,JSC <contact@vinades.vn>
*/
$PHPMAILER_LANG['authenticate'] = 'Lỗi SMTP: Không thể xác thực.';
$PHPMAILER_LANG['connect_host'] = 'Lỗi SMTP: Không thể kết nối máy chủ SMTP.';
$PHPMAILER_LANG['data_not_accepted'] = 'Lỗi SMTP: Dữ liệu không được chấp nhận.';
$PHPMAILER_LANG['empty_message'] = 'Không có nội dung';
$PHPMAILER_LANG['encoding'] = 'Mã hóa không xác định: ';
$PHPMAILER_LANG['execute'] = 'Không thực hiện được: ';
$PHPMAILER_LANG['file_access'] = 'Không thể truy cập tệp tin ';
$PHPMAILER_LANG['file_open'] = 'Lỗi Tập tin: Không thể mở tệp tin: ';
$PHPMAILER_LANG['from_failed'] = 'Lỗi địa chỉ gửi đi: ';
$PHPMAILER_LANG['instantiate'] = 'Không dùng được các hàm gửi thư.';
$PHPMAILER_LANG['invalid_address'] = 'Đại chỉ emai không đúng: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' trình gửi thư không được hỗ trợ.';
$PHPMAILER_LANG['provide_address'] = 'Bạn phải cung cấp ít nhất một địa chỉ người nhận.';
$PHPMAILER_LANG['recipients_failed'] = 'Lỗi SMTP: lỗi địa chỉ người nhận: ';
$PHPMAILER_LANG['signing'] = 'Lỗi đăng nhập: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'Lỗi kết nối với SMTP';
$PHPMAILER_LANG['smtp_error'] = 'Lỗi máy chủ smtp ';
$PHPMAILER_LANG['variable_set'] = 'Không thể thiết lập hoặc thiết lập lại biến: ';
//$PHPMAILER_LANG['extension_missing'] = 'Extension missing: ';
@@ -0,0 +1,29 @@
<?php
/**
* Traditional Chinese PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author liqwei <liqwei@liqwei.com>
* @author Peter Dave Hello <@PeterDaveHello/>
* @author Jason Chiang <xcojad@gmail.com>
*/
$PHPMAILER_LANG['authenticate'] = 'SMTP 錯誤:登入失敗。';
$PHPMAILER_LANG['connect_host'] = 'SMTP 錯誤:無法連線到 SMTP 主機。';
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP 錯誤:無法接受的資料。';
$PHPMAILER_LANG['empty_message'] = '郵件內容為空';
$PHPMAILER_LANG['encoding'] = '未知編碼: ';
$PHPMAILER_LANG['execute'] = '無法執行:';
$PHPMAILER_LANG['file_access'] = '無法存取檔案:';
$PHPMAILER_LANG['file_open'] = '檔案錯誤:無法開啟檔案:';
$PHPMAILER_LANG['from_failed'] = '發送地址錯誤:';
$PHPMAILER_LANG['instantiate'] = '未知函數呼叫。';
$PHPMAILER_LANG['invalid_address'] = '因為電子郵件地址無效,無法傳送: ';
$PHPMAILER_LANG['mailer_not_supported'] = '不支援的發信客戶端。';
$PHPMAILER_LANG['provide_address'] = '必須提供至少一個收件人地址。';
$PHPMAILER_LANG['recipients_failed'] = 'SMTP 錯誤:以下收件人地址錯誤:';
$PHPMAILER_LANG['signing'] = '電子簽章錯誤: ';
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP 連線失敗';
$PHPMAILER_LANG['smtp_error'] = 'SMTP 伺服器錯誤: ';
$PHPMAILER_LANG['variable_set'] = '無法設定或重設變數: ';
$PHPMAILER_LANG['extension_missing'] = '遺失模組 Extension: ';
@@ -0,0 +1,36 @@
<?php
/**
* Simplified Chinese PHPMailer language file: refer to English translation for definitive list
* @package PHPMailer
* @author liqwei <liqwei@liqwei.com>
* @author young <masxy@foxmail.com>
* @author Teddysun <i@teddysun.com>
*/
$PHPMAILER_LANG['authenticate'] = 'SMTP 错误:登录失败。';
$PHPMAILER_LANG['buggy_php'] = '您的 PHP 版本存在漏洞,可能会导致消息损坏。为修复此问题,请切换到使用 SMTP 发送,在您的 php.ini 中禁用 mail.add_x_header 选项。切换到 MacOS 或 Linux,或将您的 PHP 升级到 7.0.17+ 或 7.1.3+ 版本。';
$PHPMAILER_LANG['connect_host'] = 'SMTP 错误:无法连接到 SMTP 主机。';
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP 错误:数据不被接受。';
$PHPMAILER_LANG['empty_message'] = '邮件正文为空。';
$PHPMAILER_LANG['encoding'] = '未知编码:';
$PHPMAILER_LANG['execute'] = '无法执行:';
$PHPMAILER_LANG['extension_missing'] = '缺少扩展名:';
$PHPMAILER_LANG['file_access'] = '无法访问文件:';
$PHPMAILER_LANG['file_open'] = '文件错误:无法打开文件:';
$PHPMAILER_LANG['from_failed'] = '发送地址错误:';
$PHPMAILER_LANG['instantiate'] = '未知函数调用。';
$PHPMAILER_LANG['invalid_address'] = '发送失败,电子邮箱地址是无效的:';
$PHPMAILER_LANG['mailer_not_supported'] = '发信客户端不被支持。';
$PHPMAILER_LANG['provide_address'] = '必须提供至少一个收件人地址。';
$PHPMAILER_LANG['recipients_failed'] = 'SMTP 错误:收件人地址错误:';
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP服务器连接失败。';
$PHPMAILER_LANG['smtp_error'] = 'SMTP服务器出错:';
$PHPMAILER_LANG['variable_set'] = '无法设置或重置变量:';
$PHPMAILER_LANG['invalid_header'] = '无效的标题名称或值';
$PHPMAILER_LANG['invalid_hostentry'] = '无效的hostentry ';
$PHPMAILER_LANG['invalid_host'] = '无效的主机:';
$PHPMAILER_LANG['signing'] = '签名错误:';
$PHPMAILER_LANG['smtp_code'] = 'SMTP代码: ';
$PHPMAILER_LANG['smtp_code_ex'] = '附加SMTP信息: ';
$PHPMAILER_LANG['smtp_detail'] = '详情:';

Some files were not shown because too many files have changed in this diff Show More